实际上这题的题面还是颇有意思,对两个划分不同的定义暗示了第二类斯特林数,模数是\(1000000007\)又表明这题不是NTT. 那么一开始的想法是考虑每个集合的贡献.设这个集合为\(S\),那么它的贡献为\(|S|\begin{Bmatrix}n-|S|\\k-1 \end{Bmatrix} \sum_{i \in S} w_i\),而所有大小为\(t\)的集合的元素和为\({{n-1}\choose{t-1}}\sum_{i=1}^n w_i\),故最终答案为\(\sum_{i=1}^n w…
\(\color{#0066ff}{ 题目描述 }\) 由于出题人懒得写背景了,题目还是简单一点好. 输入一个整数n和一个整数p,你需要求出(\(\sum_{i=1}^n\sum_{j=1}^n ijgcd(i,j))~mod~p\),其中gcd(a,b)表示a与b的最大公约数. \(\color{#0066ff}{输入格式}\) 一行两个整数p.n. \(\color{#0066ff}{输出格式}\) 一行一个整数(\(\sum_{i=1}^n\sum_{j=1}^n ijgcd(i,j))~…
原文链接https://www.cnblogs.com/zhouzhendong/p/AtCoder-Grand-Contest-from-1-to-10.html 考虑到博客内容较多,编辑不方便的情况,我决定把做题小记拆开写. 题解中的低级错误请指出,但是由于这里写的都是简要题解,所以具体细节就不要问我了. 咕咕咕 AGC009E 突然发现 AGC001F 怎么没做 AGC001 D 出现奇数的个数大于2时一定无解(构造图,从图的连通性方面考虑).然后,如果有奇数,把他们放到头尾,然后 b 数…
觉得做一道开一篇真不好...好多想找的东西都被刷下去了... 至于?的日期究竟到什么时候...还是看心情...但是估计不会超过七天吧 最后更新时间:05/19 10:42 [05/14 10:56]我要哭了!!!一会儿再写题解吧去吃个饭压压惊... [05/14 20:57]一天只做了2道题我在干什么啊...明天早上又是原题大赛..看来又可以早早弃疗了... [05/15 11:20]果然啊..码完T1就滚去做其他事情了... [05/16 20:31]早上模拟赛打了三个暴力...值得开心的是都…
退役IV次后做题记录 我啥都不会了.... AGC023 D 如果所有的楼房都在\(S\)同一边可以直接得出答案. 否则考虑最左最右两边的票数,如果左边>=右边,那么最右边会投给左边,因为就算车往右开,只要没走到最左边,最后也要折回左边,所以不如先走完左边然后直接过来.左边<右边一样. 然后递归下去变成了一个子问题,可以看做一边的票数+=另一边,然后删除另一边. AGC023 E 考虑枚举两个位置\(i,j\)计算这两个位置产生逆序对的排列数量. 如果\(A_i=A_j\)很好算,方案数都是对…
算是--咕完了? 2013.2014的就咕了吧,年代太久远了,并且要做的题还有那么多-- LOJ #2112. 「HNOI2015」亚瑟王 发现打出的概率只和被经过几次有关. 于是\(dp_{i,j}\)表示第\(i\)张卡被考虑\(j\)次的概率,随便转移. LOJ #2113. 「HNOI2015」接水果 脑子没了,这题都不会做?? 考虑\((x,y)\in (a,b),lca(x,y)\ne x\)就等价于\(dfn_a\in [dfn_x,low_x],dfn_b\in [dfn_y,l…
LOJ #2027. 「SHOI2016」黑暗前的幻想乡 考虑到每个公司一条边,那就等价于没有任何一家公司没有边. 然后就可以容斥+矩阵树定理,没了. LOJ #2028. 「SHOI2016」随机序列 把一串连乘的数贡献到最左边的位置上,然后发现除了第一个以外都有加减两种情况刚好抵消,就只需要考虑第一个数的贡献了. 然后就没了. LOJ #2036. 「SHOI2015」自动刷题机 二分两遍\(n\),没了. LOJ #2037. 「SHOI2015」脑洞治疗仪 线段树. LOJ #2038.…
NOIP以前可能会持续更新 写在前面 NOIP好像马上就要到了,感觉在校内训练里面经常被虐有一种要滚粗的感觉(雾.不管是普及组还是提高组,我都参加了好几年了,结果一个省一都没有,今年如果还没有的话感觉就真的要滚大粗退役回去念书了QAQ.于是有了压力就来刷(水水水)题.感觉校内OJ的题库还挺多的就开始做校内OJ的题.(本校的其他神犇都在其他各种OJ上屠丧题我感觉好虚啊!)于是把这几年NOIP的原题拿出来做了下. (我蛮立个flag:如果NOIP过了就买BZOJ权限号...) 历年NOIP提高组一句…
Codeforces 题目传送门 & 洛谷题目传送门 神仙题,只不过感觉有点强行二合一(?). 首先考虑什么样的数组 \(a\) 符合条件,我们考虑一个贪心的思想,我们从前到后遍历,对于每一个 \(a_i\) 如果它已经在前面出现了就不断给它加 \(1\) 直到它没有出现过为止.如果某个 \(a_i\) 超过了 \(n\) 则不符合条件,正确性显然.这样看起来还是有点抽象,我们不妨把它转化成这样的模型:有一架飞机有 \(n\) 个位置,有 \(n\) 个乘客要登飞机,每个乘客都预定了一个位置 \…
ACM做题过程中的一些小技巧. 1.一般用C语言节约空间,要用C++库函数或STL时才用C++; cout.cin和printf.scanf最好不要混用. 2.有时候int型不够用,可以用long long或__int64型(两个下划线__). 值类型表示值介于 -2^63 ( -9,223,372,036,854,775,808) 到2^63-1(+9,223,372,036,854,775,807 )之间的整数. printf("%I64d",a); printf("%l…