今年NOIP真是、、血一样的教训
NOIP前三个星期开始,为了找打代码的手感,一天到晚打比赛,cf虚拟参赛啊luogu的比赛啊之类的
结果是,状态是很不错了,然后考试前一星期生病了....
于是NOIP时码力极其低下,写挂了整整140分、、395滚粗了
D1:
T1 诶居然不是模拟啊?
woc。。怎么不会做啊??
exgcd??
算了,作为一道D1T1应该是结论题吧、、
于是开始推结论
考虑g(i)表示%n=i的最小可用m表示的数字,则之后的%n=i的数字都可表示为g(i)+n*k
于是答案就是 max(g(i)-n)
考虑到n,m互质,所以,m*0%n,m*1%n,m*2%n……m*(n-1)都为互不相同的数字,所以分别就是g(0..n-1)的值
所以答案=m*(n-1)-n=m*n-m-n
——————
考完后发现、、大家都tm是找规律的????
血亏。
T2 ??大模拟题??
内心一阵挣扎之后,开始写
发现其实代码也不长,考虑三种情况分别用栈模拟即可
——————
考完就感觉要写挂、、最后真的写挂了
一种情况判错了、、x>y时我貌似直接结束了整个程序mdzz
但是noip数据挺良心的只卡了我20分
T3 好眼熟的题啊、、
k=0大力spfa计数一波
k!=0的情况
考虑一下把每个点拆成51个点,p[i][j]表示到i这个点,距离=dis[i]+j的方案数,dis[i]代表1到i的最短路径
很对啊。。并且不难发现,拆点后的图是一个DAG
于是大力dp一波就好了
———————
考场sb。。DAGdp写萎了
于是打算敲个spfa计数来跑裂点后的计数,可以70分
然后喜闻乐见。。又写挂了
10分。。。。。。。。
*@¥(!
D2
T1 看题目好高端啊
..BFS
———————
出考场后被各种大佬惊吓
什么!爆long long的??
哦我没开long long啊。。我double
double!!要被卡精度的!!
我完了QAQ
然后。。发现各个网站上都没卡我精度
嗯很开心
然后、、由于double的精度,被本校的辣鸡机器卡到40分
心惊胆战
noip 100分、、还好还好
T2 看起来非常非常假啊
首先题目都明确告诉了、、答案一定是一个生成树
然后点数<=12
很显然可以用状压dp、、、但是考虑到自己的码力状态不太对劲,决定求稳打个dfs
考虑到一个完全图的生成树个数为n^(n-2),于是可以直接n^2*n^(n-2)水掉70
并且如果按边排序之后掐个表应该可以拿更多分、、
然后我考场sb没卡表
哎
T3
这题
怎么说呢
一个dalao用动态开点线段树直接爆过去了%%%
我反正是不会100分做法
30分 模拟,送的
50分 离散化后模拟,还是送的
80分 考虑x=1的情况,相当于把一个点删掉后加入到队尾,可以树状数组维护一下前面已经删除了几个,就可以了
很荣幸、、我50分、、有一个很小的地方、、、没强转long long
80分同炸
、、于是喜闻乐见的写了三个部分分只过了个模拟
并且离散化那部分过了5分、、
35分滚粗
100+80+10+100+70+35=395
希望能够卡线一等
——————————————
讲道理如果实力够强的话,即使生病也不应该考这么差吧
之后要上文化课了,也不可能和之前一样刷题
还是要列个目标吧
每星期:cf比赛+虚拟赛题 ×1~2套 AK为准
bzoj 15题