什么是GCD?GCD是最大公约数的简称(当然理解为我们伟大的党也未尝不可)。在开头,我们先下几个定义:①a|b表示a能整除b(a是b的约数)②amodb表示a-[a/b]b([a/b]即为整除,如此一来便可以得到余数)③gcd(a,b)表示a和b的最大公约数④a和b的线性组合表示ax+by(x,y为...
分类:
其他好文 时间:
2014-10-09 21:14:47
阅读次数:
254
题目大意:有一些商品需要被制造,有一些员工,每一个员工会做一些物品,然而这些员工做物品越多,他们的愤怒值越大,这满足一个分段函数。给出哪些员工可以做哪些东西,给出这些分段函数,求最小的愤怒值以满足需要被制造的商品。
思路:费用流。我写的朴素费用流好像很慢,有时间学一学费用流的多路增广。
由于题目中满足那些分段函数是满足单调递增的性质的,所以就可以如下建图:
S->每个人,费用0,流量...
分类:
其他好文 时间:
2014-10-09 19:45:57
阅读次数:
191
题目大意:给定一个字符串,求最小循环节(可以不整除)
样例的Hint是错的无视掉就好 循环节应该是cab
这题利用了KMP中next数组的性质,也就是n-next[n]表示循环节
POJ的题都要求整除,这题不用整除,直接输出n-next[n]即可
注意next数组不要开成char~
#include
#include
#include
#include
#define M 1001001...
分类:
其他好文 时间:
2014-10-09 17:04:58
阅读次数:
267
题目大意:有一些位置,这些位置上可以放若干个数字。现在有两种操作。
1.在区间l到r上添加一个数字x
2.求出l到r上的第k大的数字是什么
思路:这种题一看就是树套树,关键是怎么套,怎么写。(话说我也不会来着。。)最容易想到的方法就是区间线段树套一个权值线段树,但是区间线段树上的标记就会变得异常复杂。所以我们就反过来套,用权值线段树套区间线段树。这样修改操作在外线段树上就变成了单点修...
分类:
其他好文 时间:
2014-10-09 16:50:48
阅读次数:
239
题目大意:给定一个n个点m条边的无向连通图,k次询问两点之间所有路径中最长边的最小值
LCT的裸题!首先维护一个动态的最小生成树,然后每次加入边时删除两点间路径上权值最大的边!最后询问时直接求x到y链上的最大权值即可!水爆了!!
。。。好吧开玩笑的 真正的题解见http://blog.csdn.net/popoqqq/article/details/39755703
我只是闲得无聊水一发LC...
分类:
Web程序 时间:
2014-10-09 16:48:58
阅读次数:
262
题目大意:给定n和m,求Σ(1
i和j的限制不同,传统的线性筛法失效了,这里我们考虑容斥原理
令f[x]为GCD(i,j)=x的数对(i,j)的个数,这个不是很好求
我们令g[x]为存在公因数=x的数对(i,j)的个数(注意不是最大公因数!),显然有g[x]=(n/x)*(m/x)
但是这些数对中有一些的最大公因数为2d,3d,4d,我们要把他们减掉
于是最终f[x]=(n/x)*(m/...
分类:
其他好文 时间:
2014-10-09 15:46:48
阅读次数:
366
题目大意:有n个路由器,他们由n-1条边连接(形成一棵树)。每一个路由器有一个延时值。有两种操作:
1.查询树上x,y两点之间的路径上第k大的权值是多少
2.修改x位置的权值为y
思路:当我大概想到怎么做这个题的时候,所想的时间复杂度已经达到了O(nlog^4n),偷偷的瞄了一眼数据范围...(N,Q
“没事,写吧,我10多秒就过了。。。”
秒就过了。。。就过了。。。过了。。。了...
分类:
Web程序 时间:
2014-10-09 15:39:18
阅读次数:
281
题目大意:给出一个无向边,很多询问,问x,y两地之间的最长路最短是多少。
思路:乍一看好像是二分啊。的确这个题二分可以做,但是时间会慢很多,有的题直接就T掉(NOIP2013货车运输)。其实这个题的模型就是最小瓶颈路模型。解法就是把无向图变成一个最小生成树,然后两点之间的最长路就是满足题意的答案。
CODE:
#include
#include
#include ...
分类:
Web程序 时间:
2014-10-09 15:08:38
阅读次数:
241
1501: [NOI2005]智慧珠游戏Time Limit:5 SecMemory Limit:64 MBSubmit:190Solved:122[Submit][Status]DescriptionInput文件中包含初始的盘件描述,一共有10行,第i行有i个字符。如果第i行的第j个字符是字母”...
分类:
其他好文 时间:
2014-10-09 14:32:04
阅读次数:
680
题目大意:给定一个半径为为r的圆x^2+y^2=r^2,求圆上多少个点的坐标为整数
卡了很久的一道题。。。我之前用了两个公式,理论上可以O(√n)出解,可惜这两个公式并不能涵盖所有勾股数。。。
于是去找了下题解,发现这样一种方法:
x^2+y^2=r^2
化简为 y^2=(r-x)(r+x)
我们令d=gcd(r-x,r+x)
则(r-x)/d与(r+x)/d一定互质,二者相乘为完全平...
分类:
其他好文 时间:
2014-10-09 02:15:37
阅读次数:
159