bzoj 4322 东西分配问题】的更多相关文章

问题:有n个东西,分给m个人,对于每个东西,每个人有喜欢与不喜欢两种态度:like[i][j],如果喜欢,那么他得到该东西时增加的喜悦度为k,否则为1,问是否存在一种分法,使得每个人都达到该人的最低喜悦度b[i]. 建模方法: src->thing[i] cost = 0, cap = 1 kid[i]->dst : if b[i]/k != 0 : cost = k, cap = b[i]/k    if b[i]%k!=0 : cost = b[i]%k, cap = 1 thing[i]…
bzoj 1537: [POI2005]Aut- The Bus 先把坐标离散化 设f[i][j]表示从(1,1)走到(i,j)的最优解 这样直接dp::: f[i][j] = max{f[i-1][j] + f[i][j-1]} + w[i][j]就可以完美的MLE + TLE了 我们发现f[i][j]中,只有有权的点才有意义,但是我们只有10^5个有用的点,却考虑了10^5 * 10^5个点 所以我们只考虑有权的点,那么可以发现, f[i][j]的更新一定是由f(1,1)~(i,j)的最大值…
学习VFK大神推BZOJ,记录一下学习的东西 1004: burnside:一个置换群的等价计数=(每个置换的置换后等价情况数)/置换总数,每个置换的置换后等价情况数就是置换后没变的数 模意义下的除法:可以使用乘法逆元解,bx mod p=1,x就是b模P的乘法逆元,呢么x≡1/b(mod p),呢么a/b≡ax(mod p),然后用扩展欧几里得求乘法逆元即可(就是解bx mod p=1,某年NOIPT1) 也可以用费马小定理,(a/b)%p=(a/b)%P * b^(p-1)%p=a%p *…
第一次写法法塔,,,感到威力无穷啊 看了一上午算导就当我看懂了?PS:要是机房里能有个清净的看书环境就好了 FFT主要是用了巧妙的复数单位根,复数单位根在复平面上的对称性使得快速傅立叶变换的时间复杂度空降为O(nlogn)←个人的愚蠢理解请随意吐槽 具体的我就不说了,算导上都说得很清楚,说得好像有人会听我说什么似的 模板在这里↓ CodeVS 3123: #include<cmath> #include<cstdio> #include<cstring> #includ…
Description [0,x]中全是1,其余全是0,每个点有一个权值,求最坏情况下得到x的最小权值. Sol DP+单调队列. 首先就是一个 \(O(n^3)\) 的DP. \(f[i][j]\) 表示x在 \(i,j\) 之间的最小权值. 转移就是 \(f[i][j]=min \{ max \{ f[i][k-1],f[k+1][j] \} +a[k] \} ,i\leqslant k\leqslant j\) . 一个记搜就是 \(O(n^3)\) 的. #include<cstdio>…
http://www.lydsy.com/JudgeOnline/problem.php?id=1901 首先还是吐槽时间,我在zoj交无限tle啊!!!!!!!!我一直以为是程序错了啊啊啊啊啊啊. bzoj提交是wa!!T_T,将数组改大就acT_T 吐槽完毕. 这题之前做过,用树套树做的,但是时间感人(http://www.cnblogs.com/iwtwiioi/p/3870597.html) 鉴于我是蒟蒻,所以我根本不会做啊!! 学习,,, 恩... 这题用树状数组来维护区间,写过树状数…
http://www.lydsy.com/JudgeOnline/problem.php?id=2002 (BZOJ挂了,还没在BZOJ测,先是在wikioi测过了,,) 囧.在军训时立志要学lct!!!这是一道lct的裸题,只有access操作(10行都没有啊亲...缩行大法的话,我就不说了..)(link操作相当于水过),其实lct很简单..想想都有点小激动...... lct用splay维护的话,一下就写好了..但是我在写lct的时候,发现了一些我原来splay的老问题,我原来也知道了的,…
DP/斜率优化 Orz Hzwer 八中好像挂了……明天再提交吧…… UPD:2015-03-12 17:24:43 算了,毕竟是第一道题,还是仔细写一下斜率优化的过程吧.(部分引自Hzwer的题解) 首先我们根据题意可以列出动规方程 $$ f[i]=min\{ f[j]+cal(j,i) \}$$ 处理$cal(j,i)$可以利用前缀和的思想,令$ sum[i]=\sum_{k=1}^{i} p[k] $ 对于物品$1 ~ i$,如果都从$0$运到$i$,则费用为$(sum[i]-sum[j]…
网络流/最小割/最大权闭合图 2333好开心,除了一开始把$500^2$算成25000……导致数组没开够RE了一发,可以算是一次AC~ 咳咳还是回归正题来说题解吧: 一拿到这道题,我就想:这是什么鬼玩意……矩阵乘法早忘了……画了半天也想不起来到底是谁乘谁,只记得有个式子:$c[i][j]=\sum a[i][k]*b[k][j]$ 好吧没关系,既然画图不行了,我们就先拿这个东西,纯代数来搞! D的表达式,里面那层我们可以写成:$\sum a[i][k]*b[k][j] - c[i][j]$ 然而…
回文自动机/Manacher+SA 这道题可以用Manacher找出本质不同的回文串(令max增大的所有回文串),然后再用SA跑出来有多少相同. 还有一种做法就是回文自动机(Orz Hzwer)的裸题= =(hzwer的模板) 回文自动机的教程戳这里:http://blog.csdn.net/u013368721/article/details/42100363 回文自动机:类似AC自动机的东西?我们处理回文子串是否相同的时候,很想用类似字典树的方式来存,但是由于是回文串= =所以不太方便用字典…
DP+容斥原理 sigh……就差一点…… 四种硬币的数量限制就是四个条件,满足条件1的方案集合为A,满足条件2的方案集合为B……我们要求的就是同时满足四个条件的方案集合$A\bigcap B\bigcap C\bigcap D$的大小. 全集很好算……一个完全背包>_>$4×10^5$就可以预处理出来…… 然后我sb地去算满足一个条件.两个条件……的方案数去了QAQ根本算不出来啊 orz了hzwer的题解,其实是算 不满足一个条件.不满足两个条件…的方案数的,因为如果第一种硬币超了,说明用了d…
自适应辛普森积分 Orz Hzwer 辛普森真是个强大的东西……很多东西都能积= = 这题的正解看上去很鬼畜,至少我这种不会计算几何的渣渣是写不出来……(对圆的交点求图包,ans=凸包的面积+一堆弓形的面积,另外还有中空的情况……那种凸包怎么求啊喂!) /************************************************************** Problem: 2178 User: Tunix Language: C++ Result: Accepted Ti…
欧拉函数 玛雅,我应该先看看JZP的论文的……贾志鹏<线性筛法与积性函数>例题一 这题的做法……仔细想下可以得到:$ans=2*\sum_{a=1}^n\sum_{b=1}^m gcd(a,b)-n*m$ 那么重点就在于算$\sum_{a=1}^n\sum_{b=1}^m gcd(a,b)$这个东西 copy一下JZP的推导过程: $$ \begin{aligned}  \sum_{a=1}^n \sum_{b=1}^m gcd(a,b) &= \sum_{a=1}^n \sum_{b…
题目链接:www.lydsy.com/JudgeOnline/problem.php?id=3238 后缀数组 这题题面给的暗示性就很强啊……一看就是要用后缀xx一家的算法,由于本蒻只会后缀数组所以就拿后缀数组写了. 这个题目的要求……我们很明显可以直接预处理出来T(i)+T(j)的总和,为n*(n-1)*(n+1)/2.(应该挺容易推的吧?自己画一下(样例):当i为1的时候,j可以为2.3.4.5.则1算了4次,2~5各一次:然后2算三次,3~5算一次:3算两次,4.5算一次:4算一次,5算1…
SG函数 嗯博弈论入门题,关于SG函数这个东西可以去看VFK神犇的博客,讲的非常清楚Orz. 传送门:vfleaking.blog.163.com/blog/static/174807634201231792341827/    http://vfleaking.blog.163.com/blog/static/174807634201391304748444/ 然后这题直接暴力求SG函数就好了……反正数据规模也不大. //BZOJ 1874 #include<cstdio> #include…
嗯这题是一道对树进行动态修改&查询的经典题目,可以拿来练习树链剖分~ 啊对于这种动态修改&查询的题目,我们最喜闻乐见的就是在一个序列上去做了,毕竟可以直接套各种数据结构模版啊,比如线段树.平衡树之类的.那么对于这种树上的动态修改&查询,我们可以把它通过一定的手段,“转化”成序列上的问题,再套用xx树之类的数据结构进行快速维护.而这个手段呢,就有很多种了(应该是吧?),这里用到的树链剖分,就是一种将树转化成序列的划分方式. 好的,我们现在拿到一棵树,首先我们会看到,这个树跟序列几乎没…
数位DP cxlove基础数位DP第三题 = =预处理是个很有用的东西!然后就是分类讨论! /************************************************************** Problem: 1026 User: Tunix Language: C++ Result: Accepted Time:0 ms Memory:1272 kb **********************************************************…
莫比乌斯反演 PoPoQQQ讲义第4题 题解:http://www.cnblogs.com/jianglangcaijin/archive/2013/11/27/3446169.html 感觉两次sqrt(n)的枚举是亮点…… RE:汗- -b 10^7是8位数,开数组少打了一个0…… /************************************************************** Problem: 2154 User: Tunix Language: C++ Re…
欧拉函数/莫比乌斯函数 Orz iwtwiioi 这个嘛……很明显在同一条线上的两个点一定是满足  x1*k=x2,y1*k=y2,(好吧这个表示方式有点傻逼,懂得就好了)那么这条线上的点只有第一个会被看到,即x,y互质的那一个点(如果gcd(x,y)==k>1那么肯定在它前面还有点(x/k,y/k) ) 但是马上你就会指着鼻子骂我说这特么不是胡扯么……(2,1) 和 (4,2)明明都能被看到!那是因为这里的“坐标原点”是(1,1)啊……所以坐标都减个1就好了→_→ 所以就是求 ………………看i…
好像又有一个星期没更博客了.. 最近疯狂考试...唯一有点收获的就是学会了莫队这种神奇的算法.. 听起来很难..其实是一个很简单的东西.. 就是在区间处理问题时对于一个待求区间[L',R']通过之前求出的[L,R]更新[L,R+1],[L+1,R],[L,R-1],[L,R-1]的方式弄出答案[L,R]. 比如求[3,5] 我们知道了[1,7],那么我们这样转化 : [1,7]--> [2,7]--> [3,7] --> [3,6] --> [3,5]而求得. 那怎么确定从哪个区间…
BZOJ 2154 crash的数字表格 Description 今天的数学课上,Crash小朋友学习了最小公倍数(Least Common Multiple).对于两个正整数a和b,LCM(a, b)表示能同时被a和b整除的最小正整数.例如,LCM(6, 8) = 24.回到家后,Crash还在想着课上学的东西,为了研究最小公倍数,他画了一张N*M的表格.每个格子里写了一个数字,其中第i行第j列的那个格子里写着数为LCM(i, j).一个4*5的表格如下: 1 2 3 4 5 2 2 6 4…
题目链接:BZOJ - 4103 题目分析 THUSC滚粗之后一直没有写这道题,从来没写过可持久化Trie,发现其实和可持久化线段树都是一样的.嗯,有些东西就是明白得太晚. 首先Orz ZYF-ZYF 神犇的题解. 题目给出的 n 和 m 的范围差别很大,n 很小,m 很大,因此可以想到 n 的范围是为了直接暴力枚举. 题目要求的就是 A 的一段区间中的数和 B 的一段区间中的数的异或的第 k 大值. 位运算有关的题目,一般是从高位到低位贪心之类的. 区间异或,一般要使用可持久化 Trie. 我…
容斥原理是一个从小学就开始学习的算法.但是很多难题现在都觉得做的十分吃力. 容斥原理大概有两种表现形式,一种是按照倍数进行容斥,这个东西直接用莫比乌斯函数就可以了. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; #define MAXN 200100 typedef long long qword; bool pfl…
57 跨栏训练为了让奶牛参与运动,约翰建造了 K 个栅栏.每条栅栏可以看做是二维平面上的一条线段,它们都平行于 X 轴.第 i 条栅栏所覆盖的 X 轴坐标的区间为 [ Ai,Bi ], Y 轴高度就是 i.一开始,奶牛在坐标 (S,K + 1) 处,它们的家在原点处,所以要想要回家就必须"跨"一些栅栏.但奶牛们是跨不过栅栏的,它们只能绕过栅栏.在二维平面上,它们只能沿水平和垂直方向移动,如果前进的道路上出现栅栏,它们就不能前进,必须沿水平方向移动到没有栅栏的地方再前进.奶牛们希望走的路…
1233: [Usaco2009Open]干草堆tower Description 奶牛们讨厌黑暗. 为了调整牛棚顶的电灯的亮度,Bessie必须建一座干草堆使得她能够爬上去够到灯泡 .一共有N大包的干草(1<=N<=100000)(从1到N编号)依靠传送带连续的传输进牛棚来.第i包干草有一个 宽度W_i(1<=w_i<=10000).所有的干草包的厚度和高度都为1. Bessie必须利用所有N包干草来建立起干草堆,并且按照他们进牛棚的顺序摆放.她可以相放多少包就放 多少包来建立起…
3529: [Sdoi2014]数表 Description 有一张N×m的数表,其第i行第j列(1 < =i < =礼,1 < =j < =m)的数值为能同时整除i和j的所有自然数之和.给定a,计算数表中不大于a的数之和. Input 输入包含多组数据.    输入的第一行一个整数Q表示测试点内的数据组数,接下来Q行,每行三个整数n,m,a(|a| < =10^9)描述一组数据. Output 对每组数据,输出一行一个整数,表示答案模2^31的值. Sample Input…
题目链接:BZOJ - 1500 题目分析 我要先说一下,这道题我写了一晚上,然后Debug了一整个白天..........再一次被自己的蒟蒻程度震惊= = 这道题是传说中的Splay维护数列的Boss题目. 前面的几个操作和询问看起来比较正常,就是最后一个维护最大区间和比较复杂. 其实这个也并不是十分复杂,只是要多维护一点东西,事实证明,我代码里的错误都不是与这个询问有关的. 维护每个节点的 Lmx[x] ,即这个节点的子树代表的区间的从左端开始的最大权值和.Rmx[x],同理.Mx[x],这…
Description 物理学家小C的研究正遇到某个瓶颈. 他正在研究的是一个星系,这个星系中有n个星球,其中有一个主星球(方便起见我们默认其为1号星球),其余的所有星球均有且仅有一个依赖星球.主星球没有依赖星球. 我们定义依赖关系如下:若星球a的依赖星球是b,则有星球a依赖星球b.此外,依赖关系具有传递性,即若星球a依赖星球b,星球b依赖星球c,则有星球a依赖星球c. 对于这个神秘的星系中,小C初步探究了它的性质,发现星球之间的依赖关系是无环的.并且从星球a出发只能直接到达它的依赖星球b. 每…
题目链接:BZOJ - 1066 题目分析 题目限制了高度为 x 的石柱最多可以有 x 只蜥蜴从上面跳起,那么就可以用网络流中的边的容量来限制.我们把每个石柱看作一个点,每个点拆成 i1, i2,从 i1 到 i2 连一条边,容量为这个石柱 i 的高度,即跳跃次数限制.来到这个石柱就是向 i1 连边,从这个石柱跳起就是从 i2 向外连边,这样只要从石柱 i 跳起就一定会消耗 i1 到 i2 的边的容量.如果 i 有蜥蜴,就从 S 到 i1 连一条容量为 1 的边,如果从石柱 i 能跳出边界,就从…
这两天终于基本理解了Link-Cut Tree这种神一般的东西.然后就来做这道题了. 原题是CodeChef上的.CodeChef上没有强制在线,且时限更宽松,所以似乎用莫队一样的算法把询问分组就能水过. 但是BZOJ上这道有部分数据强制在线,而且实现紧得多.于是只能用动态树了. 简单来说,就是用动态树维护\([1, i]\)中的边的最大生成树.也就是说往图中加入不再这个生成树上且标号小于i的边时不会改变连通块的个数.这应该是很显然的.假如前面某条边会改变连通块的个数,它就应该保留在树中. 然后…