20200727NOIP提高組模擬T2 走路

2022-08-18 23:15:17 字數 1206 閱讀 3764

今有一數軸,有若干人在其上走,從時間$begin$開使在$s$處出現,走到$t$處後下一秒消失,任何人速度均為$1$或$-1$,現請你求出任意一人可與多少人相遇.兩人相遇,當且僅當他們同時同地存在,且任意兩人至多相遇一次.

簡單線性規劃,以時間作為$x$軸,位置作為$y$軸,每人的行走狀態可以用一線段表示.先將出現時間按從小到大排序,預處理每人速度.然後一一枚舉兩人,取出現時間交集,端點控制判斷交集處線段是否相交即可.

1 #include2 #include3 #include4 #include5 #include6 #include7 #include8 #include9 #include10

#define r register

11#define next exnttttttttt

12#define debug puts("mlg")

13using

namespace

std;

14 typedef long

long

ll;15 typedef long

double

ld;16 typedef unsigned long

long

ull;

17inline ll read();

18 inline void

write(ll x);

19 inline void

writesp(ll x);

20 inline void

writeln(ll x);

21ll n;

22struct

node

25 }pr[1100

];26 ll ans[1100

];27 inline bool

check(ll i,ll j)

34int

main()44}

45for(r ll i=1;i<=n;i++) writesp(ans[i]);46}

47 inline ll read()while(ch>='

0'&&ch<='

9')return x*t;}

48 inline void write(ll x)if(x<=9)write(x/10);putchar(x%10+'0'

);}49 inline void writesp(ll x)

50 inline void writeln(ll x)

NOIP提高組 矩陣

在麥克雷的面前出現了乙個有n m個格仔的矩陣,每個格仔用 或 表示,表示這個格仔可以放東西,則表示這個格仔不能放東西。現在他拿著一條1 2大小的木棒,好奇的他想知道對於一些子矩陣,有多少種放木棒的方案。因為棍子是1 2的,所以很容易就能發現,兩個被分割的塊,除了跨越兩個塊擺放木棍的方案數會對答案有影...

NOIP提高組2005 過河

過河 river 問題描述 在河上有一座獨木橋,乙隻青蛙想沿著獨木橋從河的一側跳到另一側。在橋上有一些石子,青蛙很討厭踩在這些石子上。由於橋的長度和青蛙一次跳過的距離都是正整數,我們可以把獨木橋上青蛙可能到達的點看成數軸上的一串整點 0,1,l 其中l是橋的長度 座標為0的點表示橋的起點,座標為l的...

NOIP提高組 20151029模擬

其實這套題目並不算太難,但是還是發揮不了100 水平。第一題直接線性篩法,求出質數,然後就可以判斷乙個數是否為質數了。這道題還可以用miller rabin去求,後者的速度較快,如果資料再大些,就要使用後者了。第二題,比賽時發現了,當n 7時,答案會每四個一迴圈,但是就沒有繼續往下想,其實想下去會想...