題目鏈結
每次新產生的兔子一定是前面的兔子生的。
先預處理出菲波那切數列,然後用a-f[x]就是a的父親。(f[x]是小於a的最大的)
#include
#include
#include
#include
#define ll long long
using
namespace
std;
const
int n=30077;
const ll m=1e12+5;
int n,m;
ll f[5*n];
ll find(ll a,ll b)
else
if(t1>t2)
a=a-f[t1];
else
b=b-f[t2];
}return a;
}int main()
n--;
//printf("%lld",f[n-1]-m);
for(int i=1;i<=m;i++)
return
0;}
題目鏈結
把每種顏色的兔子的座標用vector(公升序)記下來。
因為修改是x與x+1的交換,所以交換後,在vector陣列中的相對位置不會變(降低了**難度)。
在vector中最好不要自己寫二分,容易re,而且不要隨便呼叫下標。
再者此題注意顏色集合為空的情況。
#include
#include
#include
#include
#include
#define ll long long
using
namespace
std;
const
int n=3e5+77;
vector
color[n];
int n,m,a[n];
int main()
for(int i=1;i<=m;i++)
if(opt==2)
}return
0;}
洛谷 NOIP提高組模擬賽 Day1
傳送門 t1 一道結論題,設原來a隊能力最大的是x,那麼a隊的選擇方案就是 2 b隊的選擇方案就是 2 1 種,因為不能不選。其中 1 leq x leq n 那麼根據乘法原理,最後的答案就是 sum limits 2 2 1 化簡可得 ans n 2 2 1 然後乙個快速冪就行了。include ...
2019 10 21 NOIP模擬測試 day1
afo倒計時.感覺10月28日就完了。3道題都是洛谷某次月賽的題目。t1 斐波拉契 題解 這道題一開始我還不太懂什麼意思,就覺得很懵逼,推了很久也沒有發現什麼規律。差點就建了一棵樹跳lca。其實完全沒有必要,還是好想,我的思路就是記錄每乙個節點是哪一代出生的,然後你會發現每個節點的兒子與他的父親相差...
NOIP2018 模擬賽day1 塔
小 a 想搭乙個體積不超過 m 的塔,他有各種大小的立方積木,比 如邊長為 a 的積木,體積為 a 3,現在小 a 需要你給乙個 x,每次小 a 會用乙個體積不超過 x 的最大積木,依次到搭好為止,現在他想最 大化積木的個數,同時在積木個數最大的情況下使 x 最大。這道題只有那麼神奇了,寶寶看了n久...