随笔分类 -  7.————其他————

摘要:https://www.vijos.org/d/SUOI/p/59dc5af7d3d8a1361ae62b97 二分一个答案,然后做一做前缀和,用满足区间大小的最小值减一减,判断答案合不合法 然而还要输出一个最小的区间 太毒瘤了 但其实最后答案中最小区间的端点就只能是刚才做的那个最小值,因为如果不是 阅读全文
posted @ 2018-09-13 23:02 Ressed 阅读(242) 评论(0) 推荐(0)
摘要:我想动某个点的话,一定要先把空白点移动到这个点旁边,然后调换这个点和空白点,一直重复 那么,我们就可以记一些状态(x,y,s) (s={0,1},{0,-1},{1,0},{-1,0}),表示我要动的点在(x,y),然后空白点在(x+s.x,y+s.y) 这样的话我们就可以建图:$(x,y,s)-1 阅读全文
posted @ 2018-09-12 20:22 Ressed 阅读(237) 评论(0) 推荐(0)
摘要:给周围的点编号1到n 我们设f[i]为(1到i和中间点)连成一个联通块的情况数,那么有$f[i]=\sum{f[i-j]*j}$,就是从i-j+1到i里选一个连到中心,然后再把i-j+1到i连成链 但这样的话,1和n不能连,那就再考虑,如果我们通过1-n这条边链起了i个点,那就再从这i个里连1个到中 阅读全文
posted @ 2018-09-12 13:42 Ressed 阅读(228) 评论(0) 推荐(0)
摘要:二分一下答案,假设是x。 我们把大于x的看成1,小于x的看成-1,等于x的看成0 那某个区间的和如果是正的,就说明这个区间中位数大于x;如果是0,就等于x;如果是负的,就小于x; 这样的话,做一个前缀和,然后维护一下满足长度>=len的最小值,然后减一减,看看是不是>=0就可以了。 (我自己写的话我 阅读全文
posted @ 2018-09-10 22:17 Ressed 阅读(291) 评论(0) 推荐(0)
摘要:首先二分一个答案x,然后我们把>=x的数看成1,<x的数看成0,那如果最后剩下1,这个答案就是合法的。 那我们就来算让某一位得1至少需要填几个1(设这个值是f[i]) i=1..n时,显然,如果i已经固定,f[i]=0或inf(取决于原来是1还是0);如果i还没有固定,那f[i]=1 然后每次就可以 阅读全文
posted @ 2018-09-10 22:12 Ressed 阅读(702) 评论(6) 推荐(6)
摘要:题意:给一个树状的文件结构,让你求从某个文件夹出发访问到所有文件,访问路径字符串长度之和的最小值,其中,访问父节点用..表示,两级之间用/分割 做两次dfs,第一次算DownN[x]和DownS[x],分别代表从x/访问到它子树中的文件个数和长度之和 第二次算UpN[x]和UpS[x],分别代表从x 阅读全文
posted @ 2018-09-08 20:49 Ressed 阅读(297) 评论(0) 推荐(0)
摘要:裸题。 阅读全文
posted @ 2018-09-03 22:55 Ressed 阅读(191) 评论(0) 推荐(0)
摘要:就是01分数规划的思路,只不过当把w[i]-r*t[i]>0的选完以后如果w值还没达到要求,那就再01背包dp一下就好了(dp时w值>W的时候就存在W里就不会爆内存了)。 (跑得很慢..大概是二分的姿势有问题...) (貌似还有直接dp的做法?不会) 阅读全文
posted @ 2018-09-03 22:16 Ressed 阅读(220) 评论(0) 推荐(0)
摘要:二分答案建图,然后判环,就可以了。 字典序输出的话,只要做拓扑序的时候用优先队列来维护就可以了。 (其实判环也可以用拓扑序...) 阅读全文
posted @ 2018-09-03 21:38 Ressed 阅读(177) 评论(0) 推荐(0)
摘要:设f[i]是第i天能获得的最大钱数,那么 f[i]=max{在第j天用f[j]的钱买,然后在第i天卖得到的钱,f[i-1]} 然后解一解方程什么的,设$x[j]=\frac{F[j]}{A[j]*Rate[j]+B[j]}$,$y[j]=Rate[j]*x[j]$的话,就能得到$f[i]=max\{ 阅读全文
posted @ 2018-09-02 19:11 Ressed 阅读(185) 评论(0) 推荐(0)
摘要:设f[i]是已经走到i号点的值。 先要给第四维离散化、然后去重 第一维排序,第二维cdq分治,第三维cdq分治,第四维树状数组,找到满足j(x,y,z,w)<=i(x,y,z,w)的j,给i统计答案就可以。 然后在做的时候可以直接统计左区间内部答案、统计左区间给右区间造成的答案,但是一定要在这两个做 阅读全文
posted @ 2018-08-25 22:15 Ressed 阅读(292) 评论(0) 推荐(0)
摘要:求三维偏序 设三维为a,b,c。先对a排序,这样i的偏序就只能<i。 然而排序的时候需要三个维度都判断一遍,最后还要去重,不然会出现实际应该记答案的数出现在它后面的情况。 (排序用的函数里不要写类似于<=之类的东西啊..会出奇奇怪怪的问题的(RE)) 然后分治来做,我们在做区间[l,r]的时候,先去 阅读全文
posted @ 2018-08-25 11:19 Ressed 阅读(240) 评论(0) 推荐(0)
摘要:貌似这道题是碰巧蒙对了贪心的方式..就是把ai*bi越小的放在越前面 (不过也符合直觉) 然后统计答案需要用高精度,然后就调了一年 阅读全文
posted @ 2018-07-31 10:40 Ressed 阅读(298) 评论(0) 推荐(0)