关闭

[置顶] 辣鸡错误合集&各种奇妙♂的小技巧

各种骚操作与sb错误...
阅读(641) 评论(0)

[置顶] 待办

以下算法的入门高斯消元以下算法的进一步练习矩阵乘法树链剖分...
阅读(405) 评论(0)

jzoj5399 【NOIP2017提高A组模拟10.7】Confess

题意给定n+1(n<=6e3且n为偶数)个大小为n的集合,集合里的数都在[1,2n]内。 请求出任意一对交集大小大于n/2的集合。分析毛都没看出来,所以就打了50分的bitset. 我们考虑一下他交集大小的期望,也就是任意两对交集大小的平均数。 设有元素i的集合有ci个,任意一对ci都有1的贡献。 E=∑C(ci,2)C(n+1,2)E=\sum\frac{C(ci,2)}{C(n+1,2)...
阅读(52) 评论(0)

拉格朗日插值法(求自然数幂和)

背景求∑ni=1ik\sum_{i=1}^{n} i^k,给定n<=1e18,k<=1e6.分析设g(x)=∑xi=1ikg(x)=\sum_{i=1}^{x} i^k。考虑k=1与k=2时的公式,不难得出每个g(x)实际上都是一个k+1次多项式。(这是猜想,具体证明看http://blog.csdn.net/jokerwyt/article/details/54141757,那个递推式就是k+1次...
阅读(56) 评论(0)

jzoj5394 【NOIP2017提高A组模拟10.5】Ping

题面 分析很容易看出模型:有若干条路径,选最少的点使得每条路径上都有点。并给出方案。 考虑一条链,其实就抽象成数轴上的线段。显然是贪心。(然而我最后五分钟才想起来!?把线段按右端点从小到大排序,考虑右端点最左的一条线段,其他线段要么与他没有交集,要么从右边有交。那么这条线段取点一定是取右端点能覆盖更多的线段。 把覆盖掉的线段删除,重复上述步骤,直到覆盖完毕。 还能得出一个结论: 只选右端点。...
阅读(76) 评论(0)

启发式合并/dsu on tree 姿势

Dsu on Tree一场比赛有两道,好tm巧啊Problem 1这种方法其实就是通过性质优化的暴力。遍历时轻边优先。 首先肯定是拆位了,然后可以用trie维护一下某颗子树内的点的串,很容易统计答案。 (具体要看题解了) 但是暴力加/删点会T,就要用dot了。 发现计算完一个儿子的答案之后,整颗子树都被添加到了trie中。但如果要继续做其他儿子所以要清空trie. 有一颗子树是可以不用清空...
阅读(29) 评论(0)

jzoj5342 赤壁情 (序列插入型dp,笛卡尔树新奇姿势dp)

题面很玄幻的一题dp. 现在有一块一块的子串,他们的相对顺序是已知的但最终一定不相邻 (也就是说中间至少有一个数)考虑从小到大插入数字,每一个数字有3种基本转移 1. 在某个空隙新建一块, 2. 并入某块(放最左或最右)。 3. 合并相邻两块贡献系数好算,比如说并入一块那么系数就是0,假如新开系数就是-2 (因为可以知道旁边是比他大的还是比他小的)但是有一个问题,边界怎么办? 所以要开两个特...
阅读(67) 评论(0)

jzoj5341. 【NOIP2017模拟9.2A组】密州盛宴

题意分析只保留后n个1,其他变为0就可以了。(不然下面会有其他情况)观察可以发现,将1视为-1,0视为1 (下文同),当一个序列最小的前缀和小于-1时就无法完成。那么问题就变成了怎么移动使得前缀和变大。考虑最小的前缀和x,我们移动y个1到队首使得x变为-1,这最大移动步数就是x的移动步数y(每移动一个都可以视为中间全部往后移动1,因为贡献是max所以忽略)。在有解的情况下,每一个前缀和他后面肯定有足...
阅读(86) 评论(0)

杜教筛如何推柿子

对于求数论函数f的1..n前缀和,可以找另一个函数g,配成狄利克雷卷积。 ∑ni=1(f∗g)(i)\sum_{i=1}^{n}(f*g)(i) =∑ni=1∑j|if(i)g(ij)= \sum_{i=1}^{n}\sum_{j|i}f(i)g(\frac i j) 交换主体 =∑nj=1∑j|if(j)g(ij)=\sum_{j=1}^n \sum_{j|i} f(j)g(\frac...
阅读(77) 评论(0)

jzoj5336 【NOIP2017提高A组模拟8.24】提米树 (dfs序dp,奇异姿势dp)

题面分析剪枝的意思就是你可以任意选点作为叶子。(前提是他子树不选) 比赛的时候有一种60分的n^2 log n做法,就是在dfs序上直接dp. 但是正解比较奇怪,先画颗树出来看看,就会发现根到真·叶子的路径上有且只有一个被选为叶子。于是我们考虑设一种玄学的dp。 令f[i]f[i]为在dfs序上,当前最后一个叶子选的是i的最大价值。 想想能更新i的点有哪些。 由于要保证每条到叶子的路径上都有选...
阅读(66) 评论(0)

jzoj5335 【NOIP2017提高A组模拟8.24】早苗 (递推优化矩乘)

题面 分析很吼的一题。 看到1e16那肯定是矩阵乘法 考虑设状态f[i][j]f[i][j]表示1..i,现在有恰好连续j个颜色不一样的。 如何转移? 首先是到j+1的,只要他后面有j个不同,那么都有(m-j)种放法转移到f[i+1][j+1]f[i+1][j+1] 然后是重复的,假设在第x个位置与当前放的有重复,那么重复的方案是多少呢? 考虑每一种确定的方案,他都有恰好一种放法能...
阅读(61) 评论(0)

jzoj5331 【NOIP2017提高A组模拟8.23】壕游戏

题面 分析这题面tmd太有迷惑性了,比赛的时候完全没有想到费用流。 考虑到k只有200,尝试费用流(思想类似可撤销贪心? ) 一次一次增广,每次spfa能跑过去。 每走过一条边,给他的边更新一下贡献。Demo#include #include #include using namespace std; const int N=1e3+...
阅读(77) 评论(0)

【集训】jzoj 2017.8.22 noip模拟赛A 总结

这几天的比赛的节奏都很乱,看题都超时了,打题也打打停停。一开始看第一题,咦这题是要干啥,想了10分钟,先换一题。 第二题哇送了70分,先看第三题吧。 (这里应该继续想想正解) 第三题…想了10分钟,一脸懵逼,smg? 好像有30分还是50分暴力? 接近8:40重新想第一题,终于把题目模型看懂了,就是要求可达点数目。 如果是DAG的话… 唔好像很简单? 直接打吧,九点不到开始打。 差不多9:2...
阅读(57) 评论(0)

jzoj5330 【NOIP2017提高A组模拟8.22】密码

题面分析首先n!n!中p的指数是∑∞i=0⌊npi⌋\sum_{i=0}^{\infty}\lfloor\frac n {p^i}\rfloor(有一个p的有多少个,两个的,三个的…) 那么对于CmnC_n^m就是在p进制下理解这个式子,发现任意第i项,后面一大堆不是0就是1. 当什么情况下是1 ? 就是p进制下m+(n-m)是否有进位。如果有进位,那么现在就没有取到这个进位(下取整就类似二进制...
阅读(121) 评论(0)

jzoj5317 【清华集训2017模拟8.19】func (寻找性质)

题意 n<=1e6分析做比赛的时候啥也没看出来.. 求f(x)=nf(x)=n的所有x,我们先将函数的定义式分析一下。 f(2i)=f(i)f(2i)=f(i) f(2i+1)=f(i)+f(i+1)f(2i+1)=f(i)+f(i+1) 两个相邻的f也是由两个相邻的f推来的。那么我们不如枚举f(x−1)=if(x-1)=i,然后发现可以确定唯一的xx。需要注意的是相邻f(x)互质 (归纳...
阅读(61) 评论(0)

jzoj5316 【清华集训2017模拟8.19】merge

题意两个1..n的排列,每次选一个将队首入栈,求有多少种不同的入栈序列。分析设fi,jf_{i,j}没跑了,考虑如何去重。 转移f[i][j]的时候,假设i,j前面有一段长度为k的相同串。 我们可以发现,将A序列看作左括号,B序列看作右括号,指针从i-k,j-k开始的每一种合法括号序列都可以被对称操作从而获得一种重复。 (这能覆盖所有重复的情况) 因此我们枚举上一次指针的位置i-k,j-k,然...
阅读(58) 评论(0)

关于卡特兰数的一些小理解

第k个卡特兰数记作CkC_k。 开始几项是 1,1,2,5,14,42…..实际意义 有n对括号的合法括号序列匹配方案数 1..n顺次入栈,出栈序列方案数。 边数为n+2凸多边形三角划分方案数 n个节点的二叉树种数。 公式Cn=Cn2n − Cn+12nC_n=C_{2n}^{n}~-~C_{2n}^{n+1} 推一下式子就有 copy from wiki公式由来从括号序列的意义来看:...
阅读(100) 评论(0)

jzoj5290 【NOIP2017提高组A组模拟8.17】行程的交集 (树上路径交,dfs序+树状数组维护姿势)

题面豪哥生活在一个n个点的树形城市里面,每一天都要走来走去。虽然走的是比较的多,但是豪哥在这个城市里面的朋友并不是很多。 当某一天,猴哥给他展现了一下大佬风范之后,豪哥决定要获得一些交往机会来提升交往能力。豪哥现在已经物色上了一条友,打算和它(豪哥并不让吃瓜群众知道性别)交往。豪哥现在spy了一下这个人的所有行程起点和终点,豪哥打算从终点开始走到起点与其相遇。但是豪哥是想找话题的,他想知道以...
阅读(160) 评论(0)

仙人掌缩环求最短路Demo

DEMOby alan_cty#include #include #include #include #define fo(i,a,b) for(int i=a;i=b;i--) #define rep(i,a) for(int i=last[a];...
阅读(52) 评论(0)

jzoj5272 神奇的重复序列 (寻找性质)

题面分析魔幻的题目。 对于两个起点x,y,设间隔p=y-x,容易看出若i = j (mod p)i~=~j~(mod~p),那么s[i]与s[j]的值应该相等。也就是p个一循环。这是很关键的性质 然而我并没有发现???! 现在考虑所有%p相等的位置,当然是都改成出现次数最多的最优。 那么我们枚举p,维护一个f[x][c]表示模数为x的位置c的出现次数。 我们还需要求个s[x]与mx[x],...
阅读(76) 评论(1)

jzoj5271 神奇的救火现场 (寻找性质dp)

题面分析注意到最优序列一定是形似水-车 或 车-水的括号序,即不存在交叉的匹配对。 而且一对括号中间也是完整的括号序列,且不会有多余的,即水-车中间没有 没有匹配的水,车-水中间没有没有匹配的车。这样的话不难发现每一个地方它在最优序列中的匹配是唯一的,可以用栈搞出来。 然后就变成了设f[i]f[i]表示搞完1..i的所有点,他匹配的最小代价。 对于每一个水,我们用前面和他匹配的车转移,对于车同...
阅读(79) 评论(2)

jzoj5259 线性规划问题 (巧妙设状态的dp)

题意 n<=1e3,p<=1e4n<=1e3,p<=1e4 保证ai<=bi分析暴力做法很简单,设fi,j,kf_{i,j,k}表示suma=j,sumb=k的最小的c就可以了,转移显然.观察题目给的约束,j,kj,k分别在P的两边。 我们简化状态,设fi,xf_{i,x}表示i,j分别在j两边的最小c值。 如何转移? 考虑x的意义j<=x<=kj<=x<=k 因为是取min,所以重复...
阅读(51) 评论(0)
128条 共7页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:26291次
    • 积分:1540
    • 等级:
    • 排名:千里之外
    • 原创:121篇
    • 转载:1篇
    • 译文:0篇
    • 评论:13条
    最新评论