摘要: 可以联想到矩阵的线性相关。 根据题意得出所求的合金应该是在材料的一个凸包内。 而要求是凸包的边尽量少。 建图跑floyd最短路。 每次判断点是否都在线段左侧,第二个判断是判断共线时点是否在线段上。 By:大奕哥 阅读全文
posted @ 2018-01-21 10:40 大奕哥&VANE 阅读(228) 评论(1) 推荐(0) 编辑
摘要: 首先很显然的是,对于多组置换他们的周期就是置换长度的lcm 且长度之和等于n 而这些置换长度可能是多个px^ax的乘积,由于都是正数且都大于1所以乘积肯定比加和大 性质:若p1^a1+p2^a2+...+pm^am<=n①,则ans=p1^a1*p2^a2*..*pm^am②是n的一个可行答案。 如 阅读全文
posted @ 2018-01-20 10:29 大奕哥&VANE 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 我们要求∑k%i 可以化简为∑n*k-i*(k/i) 所以问题在于如何求∑k/i*i 数据范围1e9,想一想O(n)不可做 加入n=k=15 i= 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 k/i=15 7 5 3 3 2 2 1 1 1 1 . . . . . . . 阅读全文
posted @ 2018-01-19 21:47 大奕哥&VANE 阅读(124) 评论(0) 推荐(0) 编辑
摘要: dp模拟即可。 d[i][j][k]表示使用前i种面值,1号手里钱为j,2号手里钱为k时最少操作数 使用滚动数组压缩空间 阅读全文
posted @ 2018-01-19 21:34 大奕哥&VANE 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 做到了AC自动机的题目,复习了一下AC自动机,学习了黄学长代码,这个题呢,我们可以模拟在AC自动机上的操作,dp数组f[i][j]表示前i个字符,我们在AC自动机上处在j号节点的方案数。 我们可以计算不符合条件的方案数,转移的时候不在有标记的节点转移就行了。—— by VANE 阅读全文
posted @ 2018-01-19 21:33 大奕哥&VANE 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 01分数规划。 我们知道01分数规划有两种解法,一种是二分,一种是迭代。 先讲讲思路。 R=sigma(a[i]*x[i])/sigma(b[i]*x[i]),F(L):=sigma(a[i]*x[i])-L*sigma(b[i]*x[i])=sigma(d[i]*x[i]);d[i]=a[i]-b 阅读全文
posted @ 2018-01-19 17:20 大奕哥&VANE 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 辣鸡POJ输出只能写%.0f 今天做bz时扫到了01分数规划,就来写一写 式子就是R=sigma(a[i]*x[i])/sigma(b[i]*x[i]) 我们先定义一个函数F(L):=sigma(a[i]*x[i])-L*sigma(b[i]*x[i]),显然这只是对目标式的一个简单的变形。分离参数 阅读全文
posted @ 2018-01-19 15:19 大奕哥&VANE 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 定义f[i][j]为将i柱上的j个盘挪走(按优先级)的步数 p[i][j]为将i柱上的j个盘按优先级最先挪至何处 首先考虑一定p[i][j]!=i 设初始为a柱,p[i][j-1]为b柱 考虑两种情况,已经挪走的这j-1个盘如果挪到区别于这两柱的c柱,那么就是经典的汉诺塔,所以只能动底盘到c柱,其他 阅读全文
posted @ 2018-01-19 10:37 大奕哥&VANE 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 两天总算刷完了这六题,也算是有些收获吧。 先来说说建图的问题,之前我们可以看到都是建两条边,而这题得建四条边,为什么呢? 因为根据实际情况考虑吧他们前后都有可能。 所以在这里我们要得出结论,2-Sat题目就如同网络流,差分约束一样,根据题意给出的限制条件建图。 然后再说说这个tarjan,作用是用来 阅读全文
posted @ 2018-01-18 19:20 大奕哥&VANE 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 2-sat,我们想对于一对钥匙关系应该是a&b=0即不能同时选 对于一扇门而言应该为a|b=1即要至少选一个 建图二分即可 By:大奕哥 阅读全文
posted @ 2018-01-18 16:06 大奕哥&VANE 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 2-sat 建图就可以把男女对立看为2-sat的初始状态,i为男的和新娘在一排,i+n为男的和新娘在对立排。只关心是不是都在新郎这一边就可以了。 由于一开始新郎和新娘对立所以连一条0到0+n的边 改了一上午,最后发现s没清空つ﹏⊂ By:大奕哥 阅读全文
posted @ 2018-01-18 11:19 大奕哥&VANE 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 好好写2-sat 如果a1-->b1矛盾则连边a1-->b2和b1-->a2 我定了一个ccnt和cnt变量,结果少打一个c,wa了好多次(lll¬ω¬) By:大奕哥 阅读全文
posted @ 2018-01-17 19:45 大奕哥&VANE 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 本题可以看出来是2-sat。 难点在于输出一种可行解。 我们想tarjan在这里的作用是什么?缩点。 何为缩点,即把点都放到一个强连通分量里视为一个块,然后对块跑拓扑即可。 阅读全文
posted @ 2018-01-17 17:17 大奕哥&VANE 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 开始学习2-sat的姿势 http://blog.csdn.net/jarjingx/article/details/8521690 这篇文章写的真好 算法的过程如下: 构图 更具体的后面再说缩点 Tarjan算法缩点,将所有的边反过来( 为什么?后面有嗯 )判可行 枚举集合的两个元素,看其是否处于 阅读全文
posted @ 2018-01-17 16:42 大奕哥&VANE 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 这题上来看以为是dp,其实是搜索,我顺便把搜索的路径存下来了(这样才看明白样例......)。 —— by VANE 阅读全文
posted @ 2018-01-17 12:15 大奕哥&VANE 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 看到博弈论,大力推一下sg,发现和NIM一样嘛,sg(x)=x,然后发现sg(1)和sg(0)有点怪,然后发现sg带进去不对,发现如果石子全是1的话就不对,然后一脸懵逼,开始质疑sg的正确性,找到了题解发现是sj函数!!果然是我土鳖了,看了一下论文,这个问题是Anti-NIM游戏,是由JZH提出的结 阅读全文
posted @ 2018-01-17 12:11 大奕哥&VANE 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 对于并查集我们有两种优化 一、按秩合并 描述:就是在对两个不同子集连接时,按照rank来连,也就是rank低的连在rank高的下面。rank高的做父亲节点。 作用,这样类似维护了一棵树,树是rank高的在上。 二、路径压缩 描述:假如fa数组已经嵌套了N层,那么传统的做法去找祖先要做N次,当N很大时 阅读全文
posted @ 2018-01-16 20:46 大奕哥&VANE 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 定理,在所有最小生成树中,相同边权的边出现的次数相同。 由于重复边权小于10条,可以跑2^10暴力 阅读全文
posted @ 2018-01-16 19:28 大奕哥&VANE 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 转一发blog 首先看这道题的博弈部分,也就是如何得到答案。对于单个节点来说,这就是一个简单的巴什博弈问题,每次可以拿走[1..L]个的话,只需要把石子个数对L+1取模就可以得到它的SG值了。如果考虑树上操作这就是一个阶梯博弈,每次只需要考虑奇数层上的石子。那么只需要对每棵子树维护它的奇数层SG值和 阅读全文
posted @ 2018-01-16 16:59 大奕哥&VANE 阅读(310) 评论(0) 推荐(1) 编辑
摘要: 我们可以使用二分答案来计算。 至于添加和修改操作我们可以使用Splay来维护复杂度O(mlogn)当然Splay常数很大。 BZOJ上长时间TLE,有dalao可以帮忙看看,luogu上能过。加个inline就行了。 阅读全文
posted @ 2018-01-16 11:40 大奕哥&VANE 阅读(142) 评论(0) 推荐(0) 编辑