高一普及組模擬賽3-2022/5/15
阿新 • • 發佈:2022-05-15
A. 李時珍的面板衣
B. 馬大嘴的廢話
C. SSY的佇列
D. 清理牛棚賽時得分:210
排行:12
kiritokazuto大佬拿了rank1%%%太強了
好習慣:先看T1
A. 李時珍的面板衣
手模可以發現其實就是二進位制:
以3為例,設0不透,1透(但是0應該才是被透的?逃
0,0,0 -> 1,0,0 -> 0,1,0 -> 1,1,0 -> 0,0,1
這時剛好三個都透明過
所以很明顯就是
(2^(n-1)+1)%n
#include<cstdio> #include<cstring> #include<string> #defineWR WinterRain using namespace std; long long mod; long long read(){ long long s=0,w=1; char ch=getchar(); while(ch>'9'||ch<'0'){ if(ch=='-') w=-1; ch=getchar(); } while(ch>='0'&&ch<='9'){ s=(s<<3)+(s<<1)+ch-'0'; ch=getchar(); }return s*w; } long long quick_pow(long long a,long long b){ long long base=a,res=1; while(b){ //printf("%d %d %d\n",b,res,base); if(b&1) res=res*base%mod; base=base*base%mod; b>>=1; } return res; } int main(){ freopen("lsz.in","r",stdin); freopen("lsz.out","w",stdout); mod=read(); printf("%lld",(quick_pow(2,mod-1)+1)%mod); fclose(stdin); fclose(stdout); return 0; }
然後切了
看T2:這是Trie啊
然後看資料範圍:n<=10000 , m<=100000
算了一下100000會爆炸,認為是KMP然後跳了
殊不知我只要再數一下n的0就會發現
n=10000
然後就沒有然後了……
開T3,這是一大敗筆……
先打暴力,next_permutation走起
以為是數學題,開始容斥,死推活推推不出來柿子……
心態開朗(
中間亂搞搞了一個T2的暴力
捏了幾組資料過了感覺很穩
然後開T4
D. 清理牛棚
審題:你好動規
然後寫了一個二維的,發現80000的n完全沒法玩
所以果斷壓掉一維