摘要:新博客:https://sakits.com 也许会同步更新 大家不要取关(捂脸逃 阅读全文
posted @ 2018-03-04 14:05 Sakits 阅读 (375) 评论 (1) 编辑
摘要:网络流经典题里餐巾计划的加强版...天数变成了$10^5$,那就不能用费用流做了... 考虑费用流的时候,单位费用随流量的增加而减少,也就是说费用其实是个单峰(下凸)函数。 那么可以三分要买的餐巾个数,求费用可以用贪心。 新买的没用就用新买的,否则能慢洗的慢洗,不能慢洗的拿最晚的快洗后可以当天用的去 阅读全文
posted @ 2018-02-18 18:27 Sakits 阅读 (241) 评论 (0) 编辑
摘要:第一次写这类题...懵 直接计算答案不好计算,所以补集转化求不合法的方案。 首先考虑朴素的DP,设$f(i, s)$表示前$i$个字符,字符串为$s$的方案数,且任意一个给定串都不存在$s$中。 我们知道在一个字符串里找其他的字符串是AC自动机的强项,那么我们就可以考虑在AC自动机上跑DP,每次$+ 阅读全文
posted @ 2018-02-14 15:37 Sakits 阅读 (163) 评论 (0) 编辑
摘要:这题...离散化...$N$和$n$搞错了...查了$2h$...QAQ 考虑$s[l...r]$,可以由两个后缀$suf[l]-suf[r+1]$得到$s[l...r]$代表的数乘$10^k$得到的结果,如果$p$不为$2$或$5$,即$gcd(p, 10^k)=1$,那么显然$s[l...r]$ 阅读全文
posted @ 2018-02-13 22:01 Sakits 阅读 (83) 评论 (0) 编辑
摘要:思路挺简单的,但是总感觉好难写...码力还是差劲,最后写出来也挺丑的 这题显然是个莫队题,考虑怎么转移和询问... 根据莫队修改多查询少的特点,一般用修改快查询慢的分块来维护。查第$k_1$小的出现次数可以用权值分块做到$O(1)$修改,$O(\sqrt{n})$查询,$k_2$小的数同理。对于每一 阅读全文
posted @ 2018-02-12 21:03 Sakits 阅读 (286) 评论 (0) 编辑
摘要:哇这题剧毒,卡了好久常数才过T_T 设$f(i,s)$为到第$i$轮攻击,怪物状态为$s$时对boss的期望伤害,$sum$为状态$s$所表示的怪物个数,得到朴素的DP方程$f(i,s)=\sum \frac{1}{sum+1}*(f(i+1,s')+[s==s'])$ 状态数只有$C_{8+3}^ 阅读全文
posted @ 2018-02-11 18:28 Sakits 阅读 (189) 评论 (0) 编辑
摘要:一眼卡特兰数...写完才发现不对劲,样例怎么输出$0$...原来模数不一定是质数= =... 第一次见到模数不是质数的求组合数方法$(n,m\leq 10^7)$,记录一下... 先对于$1$~$n$的每个数筛出最小的质因子(我肯定是写埃式筛啦),那么乘上一个数$x$相当于乘上$x$的所有质因子,所 阅读全文
posted @ 2018-02-09 23:28 Sakits 阅读 (137) 评论 (0) 编辑
摘要:预处理前后缀异或和,用trie得到前后缀最大答案,枚举中间点把左右两边加起来就是当前中间点的最大答案了...这个操作没见过,比较有意思,记录一下 #include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #incl 阅读全文
posted @ 2018-02-08 17:15 Sakits 阅读 (121) 评论 (0) 编辑
摘要:这题好久之前就被学长安利了...一直没写珍藏在收藏夹一个不为人知的角落233 这题怎么做...我们来数形结合,横坐标为$t_i$被加的次数(可看作时间$t$),纵坐标为$v_i$,那么$t_i$实际上就是阶梯图形的面积。 上图是父亲节点和子节点合并后的样子,阴影部分为答案即$t_i$,显然可以通过$ 阅读全文
posted @ 2018-02-06 14:11 Sakits 阅读 (181) 评论 (0) 编辑
摘要:偏远小渔村NOIP螺旋升天选手又一次来到了广州参加GDKOI...金实的初三爷们也来啦?要被碾啦T T Day 0 跟HR Lao爷拼(biao)车到了高铁站,上了高铁居然没有颓颓颓吃吃吃(雾),安心地打了打板子(姚老坐在旁边T T 到广州,愣是盯了半天地铁网,从广州南站坐到苏元站,woc怎么离市中 阅读全文
posted @ 2018-01-27 00:56 Sakits 阅读 (897) 评论 (3) 编辑
摘要:比赛的时候怎么没看这题啊...血亏T T 对每种字符建一个bitset,修改直接改就好了,查询一个区间的时候对查询字符串的每种字符错位and一下,然后用biset的count就可以得到答案了。。。 #include<iostream> #include<cstring> #include<cstdl 阅读全文
posted @ 2018-01-21 15:24 Sakits 阅读 (542) 评论 (0) 编辑