10 2014 档案
摘要:最近做模拟题看到一些好的题及题解。升格思想:核电站问题 一个核电站有N个放核物质的坑,坑排列在一条直线上。如果连续M个坑中放入核物质,则会发生爆炸,于是,在某些坑中可能不放核物质。 任务:对于给定的N和M,求不发生爆炸的放置核物质的方案总数输入:输入文件只一行,两个正整数N,M(13,那么还需要a[...
阅读全文
摘要:对于一组多项式方程(增广矩阵中,x[i, n+1]表示式子的值;x[i,j]表示第i个方程第j项的系数,在这里,增广矩阵可能不一定是n个,可能多可能少;opt表示运算规则):(x[1,1]*a[1]) opt (x[1,2]*a[2])opt...opt(x[1,n]*a[n])=x[1, n+1]...
阅读全文
摘要:(写的题真少QAQ动态规划:【vijos】1892 树上的最大匹配(树形dp+计数)【vijos】1770 大内密探(树形dp+计数)noip 模拟赛 After 17(递推+特殊的技巧)【vijos】1757 逆序对(dp)【vijos】1764 Dual Matrices(dp)【vijos】1...
阅读全文
摘要:https://vijos.org/p/1892这个必须得卡评测机+手动开栈才能卡过QAQ手动开栈我百度的。。。int size=256#include #include #include #include #include #include #include #include using name...
阅读全文
摘要:https://vijos.org/p/1770不重不漏地设计状态才能正确的计数QAQ虽然可能最优化是正确的,但是不能保证状态不相交就是作死。。。。之前设的状态错了。。。应该设f[i][0]表示i点不取且至少有一个儿子取,且保证i点被覆盖f[i][1]表示i点取儿子任意,且保证i点被覆盖f[i][2...
阅读全文
摘要:写了那么多模拟题这题算是最难的了QAQ好神,,,我于是补了一下并查集。。并查集很神。。。。。。orz种类并查集。。。orz对于维护sat,我们可以这样想:如果x和y的xor是true,那么x和y肯定不一样,那么我们有s[x]=s[y]^1否则s[x]=s[y]我们需要维护的是一系列的x和y之间的关系...
阅读全文
摘要:http://new.tyvj.cn/p/2065我就不说我很sb的用线段树来维护值。。。。。。本机自测的时候想了老半天没想出怎么维护点在所有区间被多少区间包含的方法。最后一小时才想出来线段树(果然太弱)。。首先想到贪心,答案一定是某个区间的右端点。。。(这个很容易想也容易证,我就不说了。。。。。)...
阅读全文
摘要:来源:Violet_II T1好神的一题,我竟然没做出来QAQ首先我们发现,答案是sigma(x[i]*x[j], i>j)+sigma(y[i]*y[j], i>j)。显然只需要讨论左边的就行了,右边就可以同理了。我们发现sigma(x[i]*x[j], i>j)=(sigma(x[i])^2-s...
阅读全文
摘要:http://poj.org/problem?id=2947各种逗啊。。还好1a了。。题意我就不说了,百度一大把。转换为mod的方程组,即(x[1,1]*a[1])+(x[1,2]*a[2])+...+(x[1,n]*a[n])=x[1, n+1] (mod m)(x[2,1]*a[1])+(x[2...
阅读全文
摘要:http://poj.org/problem?id=1830高斯消元无解的条件:当存在非法的左式=0而右式不等于0的情况,即为非法。这个可以在消元后,对没有使用过的方程验证是否右式不等于0(此时因为前边消元一定会使得后边的方程左式为0)高斯消元自由变元:自由变元就是当这些未知量一旦确定,整个方程就确...
阅读全文
摘要:http://poj.org/problem?id=1222竟然我理解了两天。。。。。首先先来了解异或方程组(或者说mod2方程组,modk的话貌似可以这样拓展出来)对于一些我们需要求出的变量a[1~n],我们现在知道n个方程组(有解的情况下),每个方程均是类似原版消元那样带了个系数的,只不过这个系...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1013只要列出方程组就能套高斯来解了。显然距离相等,所以开不开平方都无所谓。b表示圆心,可列sigma((x[i][j]-b[j])^2)=sigma((x[i+1][j]-b[j])^2)化简得sig...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3301其实这一题很早就a过了,但是那时候看题解写完也是似懂非懂的。。。。听zyf神犇说是康托展开,然后拖到今天才来看看。。。sad。。从不知道那里来的文档里边抄的:康托展开就是一种特殊的哈希函数,它的使...
阅读全文
摘要:https://vijos.org/p/1729这题好奇葩,为嘛N开到30就会re啊。。。。。。。。。。n#include #include #include #include #include #include using namespace std;#define rep(i, n) for(i...
阅读全文
摘要:https://vijos.org/p/1746这题就是水题。裸的跑完每个点的最短路后直接可以暴力出解。。这题贴出来是因为我改了下我的dijkstra的模板。。。(其实是原来一直写错了233注意vis不要提前加。否则你懂的。。#include #include #include #include #...
阅读全文
摘要:https://vijos.org/p/1750是不是我想复杂了。。。。自己yy了个二维线段树,然后愉快的敲打。但是wa了两法。。。。。。。sad原因是在处理第二维的更新出现了个小问题,sad。void pushup1(int x) { for1(i, 1, mm#include #include ...
阅读全文
摘要:https://vijos.org/p/1757有时候自己sb真的是不好说。。。我竟然想了半天都没想到这个转移。我是有多傻。。。。我们设f[i][j]表示1~i的排列且逆序对恰好是j的方案数。显然我们只需要将i放进i-1排列中就行了。而且发现i始终大于i-1那么就好做了,我们只要将所有i放到i-1序...
阅读全文
摘要:特开此博文:1、数组开小2、没开long long(隐式转换那里)3、没有每一步都取mod4、引用的是下标而不是数组+下标(主席树那里错过两次啊)5、全局变量和局部变量搞混(*maxlonglong)6、bfs的判重要每一次转移一个状态就要设置好啊QAQ7、double转整数一定要注意是否超int范...
阅读全文
摘要:https://vijos.org/p/1764自从心态好了很多后,做题的确很轻松。这种题直接考虑我当前拿了一个,剩余空间最大能拿多少即可。显然我们枚举每一个点拿出一个矩形(这个点作为右下角),然后剩余空间我们只需要考虑i+1~n和j+1~m这一块空间即可(至于为什么多想想QAQ)所以我们维护i+1...
阅读全文
摘要:https://vijos.org/p/1764首先第一个虫洞一定是建在1号点。证明如下:假设一个虫洞在a,一个在b,a#include #include #include #include #include #include using namespace std;#define rep(i, n...
阅读全文
摘要:https://vijos.org/p/1765这题用白书的方法是n^2的,所以我tle了一个点。。sad。我稍微优化了一下。这个题给我最大的感受不是这个题本身,而是我感受到了自己思考以后并认真查错一次提交获得这么高分的感受。做题一定要认真、仔细。写这些题最重要的就是仔细,一些细节方面没处理好,那么...
阅读全文
摘要:信息学之于其他竞赛学科的不同,就在于需要通过写程序来表达自己的思维和想法。如何尽可能又快又好地调试程序,成了我们必须要思考的问题。相信很多同学都有过这样的经历:思考一个算法只花了半个小时,但是把这个算法写对却花了一天。。思考与实现的时间往往不成正比。下面是我结合自己的经验给出的一些小建议,仅供大家参...
阅读全文
摘要:https://vijos.org/p/1791暴力的话只想到bfs,然后估计是状态超了才得20分。噗,为啥暴力就不能想得简单点QAQ。。。。。这种思想很好啊。这一题我看了题解后不得不说我竟然没想到。。为啥要bfs。。这种找路径的依赖前边状态的不需要bfs啊!因为bfs是无限拓展的,状态很大,本题又...
阅读全文
摘要:https://vijos.org/p/1769啊,割边写挫了害得我交了那么多发。。。本题多想想就出来了。。首先求出割边,显然关键边就在割边上。求完割边后,我们先从一个点dfs,维护A的点数和B的点数及深度。那么显然如果割边的深度大的点的A或者B是0或者是K和L,那么显然这是条关键边。。割边不要写错...
阅读全文
摘要:https://vijos.org/p/1768之前不知道为什么,我yy了一个n^2的做法,但是没能写出来。。sad然后看了题解才发现这题好神。。为什么一定要照着题意找两个点然后算呢?这就是问题所在。。。我们可以观察每一个点,发现他的贡献恰好是左边比他小的数和右边比他大的数组成的顺序对,那么一共有l...
阅读全文
摘要:https://vijos.org/p/1789我yy了一下发现我的方法没错啊,为嘛才80分。。(后来看了题解,噗,还要判断k>n和k=1的情况QAQ当k=1的时候,答案显然是m^n当k>n的时候,显然随便搞都满足当n=k的时候,显然这是个排列就能做的,枚举一半必定有且只有一个另一半与之对应,所以直...
阅读全文
摘要:https://vijos.org/p/1790好神的贪心题。。一开始我也想到了贪心,但是是错的。。sad就是因为每一个节点的编号与逆图的子树有关,且编号一定是>=子树的儿子+1的。但是想了想很快发现不可做。。因为这种dfs牵扯到的东西太多了。然后我想到这些约束是不是和差分约束有关,然后就脑补,可是...
阅读全文
摘要:https://vijos.org/p/1629本来是想出来了的,,,,但是有个地方写挫了一直没发现,sad就是dfs的时候我传的pos传错了QAQ这题用容斥很好想首先在区间[l, r]能被a整除的数有r/a-(l-1)/a,下取整。而这题要求的是upd:很早以前写的这个公式感觉不怎么好,还是用《组...
阅读全文
摘要:https://vijos.org/p/1543好神奇的一题。。首先我竟然忘记n可以求根求出来,sad。然后我打了表也发现n和m是fib数。。严格证明(鬼知道为什么这样就能对啊,能代换怎么就能保证最大呢?):(n^2-mn-m^2)^2=1(m^2+mn-n^2)^2=1(m(m+n)-n^2)^2...
阅读全文
摘要:https://vijos.org/p/1447一开始想了想似乎只想到了与约数个数有关,即约数个数为奇数那么显然是亮的。竟然没想到完全平方数。。sad。。在正因子中,只有完全平方数的正因子才是奇数!(包括1和他自己)!!!在区间[1, n]中,一共有sqrt(n)个完全平方数!(这个多想想就知道了。...
阅读全文
摘要:https://vijos.org/p/1164好赞orz。对于求一组线性同余方程x=a[i](mod m[i])这里任意两个m[i]和m[j]都互质那么可以用中国剩余定理来做。对中国剩余定理的理解:(转自matrix67神犇的blog:http://www.matrix67.com/blog/ar...
阅读全文
摘要:https://vijos.org/p/1882这种题很赞。。以后记得这些绝对值最小的优先想中位数啊orz首先我们将所有的高度都减掉他们的高度差,那么得到的应该是一串高低不平的数列,那么题目转化为,将这个改变后的数列变成一样高的最小费用。那么显然是中位数啦。好赞。#include #include ...
阅读全文
摘要:https://vijos.org/p/1881这场比赛太难了sad。所以我都没做。。这题一开始我竟然不会sad(本来就不会),然后我继续yy。。yy了好久,竟然yy了个什么可拆分的并查集?(sad,后来发现我是如此sb,根本无法实现。。)然后我弃疗了,比赛干脆不交了。。sad后来看了题解和神犇们热...
阅读全文
摘要:https://vijos.org/p/1286这题好神不会捉。。。首先我们知道所有情况有C(n*m, k)种,这个好搞。但是两两不相邻这个有点难搞。。原来是状压dp。。sigh。设状态f[i][j][k]表示第i行放置的摆放状态是j放了k个人的方案,那么有f[i][j][k]=sum{f[i-1]...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3203wa无数次QAQ,犯sb错。。。。一是数组没有引用。。。二是输出转成了int(越界了sad)。。三是叉积的顺序忘记了(cross(v, w)>0的话说明v在下边啊。。。。)。。。sad。。然后提交...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1857好神奇的三分。。第一次写三分啊sad。。看了题解啊题解QAQ首先发现无论怎么走一定是在AB和CD上选了两个点然后走的(包括ABCD四个点),所以我们就是要找出这两个点就行了。且AB上有且只有一个最...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1833数位dp什么的最恶心了。dfs时注意考虑两种边界,一种是此时正好在这个数上,那么答案应该加的是后边的数+1+dfs否则就加10^(x-1)+dfs;这两个是显然的。自己多想想就懂了具体看代码:#i...
阅读全文
摘要:http://ch.ezoj.tk/contest/CH%20Round%20%2355%20-%20Streaming%20%236%20%28NOIP%E6%A8%A1%E6%8B%9F%E8%B5%9Bday2%29犯了sb错误。。。。t2的longlong的mul我没分别开modQAQ爆了两...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1026我果然很弱啊。。。考虑数位dp。枚举每一位,然后限制下一位即可。一定要注意啊!在dfs的时候line这个要&&啊。。。。要不然wa了两发。。#include #include #include #...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1596一开始交了个貌似正确的dp,wa了。我只考虑了儿子覆盖的情况,没有考虑父亲QAQ那么我们要多开一个变量,来考虑父亲的。d[i][0]:自己不放,但是至少有一个儿子放了d[i][1]:自己放d[i]...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1827仔细想想就好了,,每个点维护两个值,一个是子树的费用,一个是除了子树和自己的费用。都可以用dfs做。维护第一个就是简单的dp。d1[i]=sum{d1[j]+w(i, j)*son1[j]},j是...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=2060裸的树形dpd[x][1]表示访问x的数量,d[x][0]表示不访问x的数量d[x][1]=sum{d[y][0]}, y是儿子d[x][0]=sum{max(d[y][1], d[y][0])}...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3394裸的floyd。。#include #include #include #include #include #include #include using namespace std;#defin...
阅读全文
摘要:http://ch.ezoj.tk/contest/CH%20Round%20%2354%20-%20Streaming%20%235%20%28NOIP%E6%A8%A1%E6%8B%9F%E8%B5%9BDay1%29果然太蒟蒻。t2和t3都是骗分滚粗。。t2各种逗啊,自己硬是只mod一个不mo...
阅读全文
摘要:http://poj.org/problem?id=2478http://acm.hdu.edu.cn/showproblem.php?pid=2824欧拉函数模板裸题,有两种方法求出所有的欧拉函数,一是筛法,而是白书上的筛法。首先看欧拉函数的性质:欧拉函数是求小于n且和n互质(包括1)的正整数的个...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=2982少加了特判n#include #include #include #include #include #include using namespace std;#define rep(i, n) ...
阅读全文
摘要:https://vijos.org/p/1781学习了下拓欧。。求exgcd时,因为a*x1+b*y1=a*x2+b*y2=b*x2+(a-b*[a/b])*y2然后移项得a*x1+b*y1=b*x2+a*y2-(b*[a/b])*y2a*(x1-y2)+b*y1-b*x2+(b*[a/b]*y2)...
阅读全文
摘要:https://vijos.org/tests/542c04dc17f3ca2064fe7718好一场 水题 比赛啊t1直接上暴力费用流10分QAQ,虽然一开始我觉得可以不用的,直接dfs可以得出最大流,但是写撮了就放弃了。t2直接上暴力又是10分QAQ,虽然本来我就不会。。t3直接上暴力还写撮了。...
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=3622又是各种逗。。2-SAT是一种二元约束,每个点可以置于两种状态,但只能处于一种状态,然后图是否有解就是2-SAT啦。看白书吧。这个图的边的概念一定要弄懂!以下的x'表示x的另一个点边(x, y)表示取了x就一...
阅读全文
摘要:概要:各种dfs时间戳。。全是tarjan(或加上他的小伙伴)无限膜拜tarjan orzzzzzzzzz技巧及注意:强连通分量是有向图,双连通分量是无向图。强连通分量找环时的决策和双连通的决策十分相似,但不完全相同。强连通分量在if(FF[v])后边的else if还要特判是否在栈里,即vis[v...
阅读全文
摘要:http://poj.org/problem?id=2942各种逗。。。。翻译白书上有;看了白书和网上的标程,学习了。。orz。双连通分量就是先找出割点,然后用个栈在找出割点前维护子树,最后如果这个是割点那么子树就都是双连通分量,然后本题求的是奇圈,那么就进行黑白染色,判断是否为奇圈即可。将不是奇圈...
阅读全文
摘要:http://poj.org/problem?id=1523太弱。。。too weak。。割点我都还要看书和看题解来写。。果然是写不出么。。割点就那样求,然后分量直接这个节点有多少子树就有子树个数+1个分量。还要注意root的特判。。sigh。。就是崩这里了。#include #include #i...
阅读全文
摘要:http://poj.org/problem?id=1094原来拓扑序可以这样做,原来一直sb的用白书上说的dfs。。。。。。。。。。。。拓扑序只要每次将入度为0的点加入栈,然后每次拓展维护入度即可。。我是个大sb,这种水题调了一早上。。#include #include #include #inc...
阅读全文