nc53681「土」巨石滾滾
題目描述
帕秋莉掌握了一種土屬性魔法
她使用這種魔法建造了乙個大型的土球,並讓其一路向下去衝撞障礙
土球有乙個穩定性x,如果x < 0,它會立刻散架
每衝撞乙個障礙,土球會喪失ai的穩定性,衝撞之後,又會從障礙身上回饋bi的穩定性
帕秋莉想知道,如果合理的安排障礙的順序,在保證土球不散架的情況下,是否可以將障礙全部撞毀呢?
輸入描述
輸入乙個整數t,代表t組資料,每組資料中:
前一行兩個整數n , m,表示障礙個數和土球的穩定性
接下來一行兩個整數,分別表示障礙的ai和bi
輸出描述
若可以,輸出「yes」(不含引號),否則輸出「no」(不含引號)
輸入樣例
15 50
49 49
52 0
5 10
26 24
70 70
輸出樣例
no思路:
這題。。。。很顯然的貪心。。但是無論我怎麼設計貪心總是有東西沒考慮到。。看了大佬的思路,大佬提供了一種考慮很周全的思路。分段貪心。對於每個a,b
a,ba,
b,我們可以求一下它的增量△
\********△xx
x。然後對增量以0
00為中點分段,我們先對增量降序,對於△
x>
0\******** x>0
△x>
0的部分我們一定可以使得m
mm變得更大,但是有可能a
>
ma>m
a>
m會使得m
mm得不到最優值,我們需要對△
x>
0\******** x>0
△x>
0這部分的a
aa公升序,對於△
x<
0\******** x<0
△x<
0,這一部分我們已經拿不到額外的利益了,為了使得m
mm最優,我們要讓a
aa盡可能的小,b
bb盡可能大,所以對於△
x<
0\******** x<0
△x<
0部分對b
bb降序就好了。
**:
#include
using
namespace std;
const
int maxn =
1e6+10;
typedef
long
long
int ll;
struct node
node
(ll a,ll b,ll c =0)
:x(a),
y(b),z
(b - a)};
node a[maxn]
;bool
cmp(node a,node b)
bool
cmp1
(node a,node b)
bool
cmp2
(node a,node b)
void
solved()
if(cnt == n)
sort
(a +
1,a +
1+ n,cmp)
;sort
(a +
1,a +
1+ cnt,cmp1)
;sort
(a +
1+ cnt,a +
1+ n,cmp2)
;for
(int i =
1; i <= n; i++)if
(m >
0)cout<<
"yes"
"no"
nc 監聽資料 linux包之nc之nc命令
nc 1.84 22.el6.x86 64 不用系統上提供的nc版本會有所不同,其提供的引數使用方法也略有差異 nc v w 1 192.168.2.10 z 1 65535 grep succeeded 埠掃瞄 1.4 強制使用ipv4 2.6 強制使用ipv6 3.d 允許socket通訊返回d...
nc命令介紹
名字 nc 連線 監聽任意的tcp和udp。概要 nc 46ddhklnrstuuvzc i 間隔 p 源埠 s 源ip位址 t 服務型別 w 超時時間 x 協議 x 位址 埠 主機名 埠 s 詳細說明 nc netcat 的功能使用是涉及到tcp或者udp的時候。它可以開啟tcp連線,傳送udp包...
nc命令說明
一,什麼是nc nc是netcat的簡寫,因為它短小精悍 功能實用,被設計為乙個簡單 可靠的網路工具 二,nc的作用 1 實現任意tcp udp埠的偵聽,nc可以作為server以tcp或udp方式偵聽指定埠 2 埠的掃瞄,nc可以作為client發起tcp或udp連線 3 機器之間傳輸檔案 4 機...