08 2018 档案

摘要:A: B: 给你两个数n和k,问有多少对(a,b) a<=n,b<=n,a≠b,使得a+b=k C: 给你一个括号序列,让你删点儿东西,变成长度为m的合法括号序列 D: 对于一个长度n的数组进行q次查询,i从1到q,第i次将任意一段连续的部分全部染成i。 最后得到的数组中可能会存在“污点”0.即最后 阅读全文
posted @ 2018-08-19 15:10 SiriusRen 阅读(191) 评论(0) 推荐(0)
摘要:1001 Age of Moyu (HDU 6386) 思路: 把Dijkstra的vis数组改成set判一判就好了.... 1005 GuGuFishtion (HDU 6390)定义了一个函数 $G_u(a,b)=$$\frac{\varphi(ab)}{\varphi(a)\varphi(b) 阅读全文
posted @ 2018-08-14 10:59 SiriusRen 阅读(304) 评论(0) 推荐(0)
摘要:思路: 算出来每个点的sg值,然后对于每个询问xor一下 阅读全文
posted @ 2018-08-09 14:39 SiriusRen 阅读(130) 评论(0) 推荐(0)
摘要:思路: nim博弈裸题 xor一下 阅读全文
posted @ 2018-08-09 14:24 SiriusRen 阅读(83) 评论(0) 推荐(0)
摘要:思路: 把斐波那契通项公式转化成log的形式,高中数学... 阅读全文
posted @ 2018-08-07 15:13 SiriusRen 阅读(123) 评论(0) 推荐(0)
摘要:思路: 网上的题解有AC自动机的,有trie树的,还有(乱搞?)的 首先把输入的那n个串按照字典序排序, 把n个串翻转以后再按照字典序排序 这样我们发现, 查的前缀在字典序排序后是一段区间, 查的后缀翻转一下在翻转后的字典序排序以后也是一段区间 这样如果不考虑重叠的问题,就是一个简单的二维数点问题, 阅读全文
posted @ 2018-08-05 11:04 SiriusRen 阅读(187) 评论(0) 推荐(0)
摘要:思路: 这是一个错误的思路, 因为数据水才过= = 首先求出来后缀数组 把rank插到set里 每回差i两边离i近的rank值,更新 如果LCP相同,暴力左(右)继续更新sa的最小值 阅读全文
posted @ 2018-08-03 19:45 SiriusRen 阅读(173) 评论(0) 推荐(0)
摘要:思路: ans+=max(0,lcp(i,i+k-1)-max(ht[i],ht[i+k])); 特判k=1 阅读全文
posted @ 2018-08-03 15:27 SiriusRen 阅读(192) 评论(0) 推荐(0)
摘要:思路: 要包含字母a 定义nxt数组表示 下一个出现字母a的位置 答案就是Σn-max(nxt[i],sa[i]+ht[i]) 阅读全文
posted @ 2018-08-03 14:07 SiriusRen 阅读(162) 评论(0) 推荐(0)
摘要:思路: 求一发后缀数组,求个LCP 就好了 注意数字有可能不只一位 (样例2) 阅读全文
posted @ 2018-08-03 13:10 SiriusRen 阅读(158) 评论(0) 推荐(0)
摘要:思路: 直接容斥 阅读全文
posted @ 2018-08-01 15:43 SiriusRen 阅读(132) 评论(0) 推荐(0)
摘要:思路: 就二进制枚举哪些数,然后取最小公倍数 搞一搞 阅读全文
posted @ 2018-08-01 15:42 SiriusRen 阅读(121) 评论(0) 推荐(0)
摘要:思路: 若a和b互素的话,则b*t+a和b一定互素 用周期性做就好了 阅读全文
posted @ 2018-08-01 15:40 SiriusRen 阅读(111) 评论(0) 推荐(0)
摘要:前置技能: <=i且与i互质的数的和是phi(i)*i/2 思路: 显然每个人的步数是gcd(a[i],m) 把m的所有因数预处理出来 1~m-1中的每个数 只会被gcd(m,i)筛掉一遍 阅读全文
posted @ 2018-08-01 15:38 SiriusRen 阅读(153) 评论(0) 推荐(0)