12 2018 档案

摘要:传送门 看到指定的总节点数小于等于 300000 就知道要搞虚树了 考虑如何在虚树确定每个议事处控制的节点数量 可以两遍dfs 第一遍求儿子对父亲的影响,第二遍求父亲对儿子影响 注意搜索顺序,这样就可以把影响扩展到其他子树了 如图: 初始时只有本身被影响 经过第一遍dfs后父亲被影响: 经过第二遍d 阅读全文
posted @ 2018-12-31 15:22 LLTYYC 阅读(225) 评论(0) 推荐(0)
摘要:传送门 虚树DP经典题 首先有一个显然的$O(nm)$的树形DP 以 1 号节点为根 设 $f [ x ]$ 表示把节点 $x$ 子树内的资源点都与 $x$ 的父节点断开的最小代价 那么转移显然: 枚举 $x$ 的所有儿子节点 $v$,设 $x$ 到父节点的边权为 $w$ $f [ x ] = mi 阅读全文
posted @ 2018-12-30 16:37 LLTYYC 阅读(173) 评论(0) 推荐(0)
摘要:传送门 经典的最大权闭合子图问题 实验有正的价值,仪器的价值为负 为了实验我们必须选择相应的仪器 所以从 S 连向实验,边权为实验的价值 实验与相应仪器之间连边,边权为 INF 仪器连向 T 边权为仪器的价格 解释: 首先最大权闭合子图就是要求在一个图中求出一个联通子图 该子图没有出边能到达非子图的 阅读全文
posted @ 2018-12-28 16:17 LLTYYC 阅读(181) 评论(0) 推荐(0)
摘要:传送门 把用户群和中转站都看成点 用户群权值为正,中转站权值为负 为了获得用户群的权值,我们不得不一起获得中转站负的权值 发现就是裸的最大权闭合子图 那么从用户群连边向中转站,边值INF 从 S 连向用户群,边权为用户群权值 最后从中转站连向 T 边权为中转站权值的绝对值 然后直接最小割 不懂原因的 阅读全文
posted @ 2018-12-28 15:45 LLTYYC 阅读(212) 评论(0) 推荐(0)
摘要:传送门 根据小朋友的意愿和他们之间的关系建一个图 如果 A 想睡觉就从 S 连一条边到 A ,反之从 A 连一条边到 T 如果 A,B 是好朋友,则他们之间连双向边(友谊是相互的) 那么对于任意一条从 S 到 T 的只经过两个小朋友的路径,则表示一种冲突 (因为与 S 相连说明 A 要睡觉,但是有朋 阅读全文
posted @ 2018-12-28 15:36 LLTYYC 阅读(153) 评论(0) 推荐(0)
摘要:传送门 考虑如果我们选了一条边,那么边连接的两个端点也一定要选 我们选边得到正的价值,选点得到负的价值 发现就是求一个最大权闭合子图 把边也看成点,S向它连边,边权为它的价值 然后向 原边连接的两点 连权值 INF 的边 最后把原图的点连向 T ,边权为点值(正数) 然后跑最小割 解释: 因为中间的 阅读全文
posted @ 2018-12-28 15:12 LLTYYC 阅读(142) 评论(0) 推荐(0)
摘要:传送门 斜率优化DP入门题 显然如果在一个位置 i 建一个仓库,且上一个仓库位置为 j 那么从 j+1到 i 的物品显然都要存在 i 仓库是最优的 设 $f [ i ]$ 表示在第 i 个工厂建设仓库时,工厂 1 到 i 的物品都转移好的最小花费 考虑上一个仓库的位置 j 设工厂 i 离工厂 1 的 阅读全文
posted @ 2018-12-24 08:48 LLTYYC 阅读(192) 评论(0) 推荐(0)
摘要:传送门 显然的斜率优化DP 设 $f[i]$ 表示以 i 作为一段区间的结尾,从 1 到 i 的序列的战斗力的最大值 然后枚举上一个结尾 j 设战斗力前缀和为 sum 那么 $f[i]=f[j]+A(sum[i]-sum[j])^2+B(sum[i]-sum[j])+C$ $f[i]= f[j]+ 阅读全文
posted @ 2018-12-24 08:26 LLTYYC 阅读(162) 评论(0) 推荐(0)
摘要:传送门 斜率优化DP入门题 首先有一个很显然的做法 设 $f[i]$ 表示当前以第 i 个节点作为一段区间的结尾时,从 1 到 i 的最小花费 然后枚举上一个作为结尾的物品的编号为 j 那么转移就直接根据题意求就行了 设长度的前缀和为 $sum$,那么花费就是 $(i-j-1+sum[i]-sum[ 阅读全文
posted @ 2018-12-24 08:14 LLTYYC 阅读(161) 评论(0) 推荐(0)
摘要:传送门 骚题一道,给每个"数"一个实数值 A 来表示它们的相对大小关系 $A\in (0,1)$ 考虑如何维护它们之间的相对大小关系 有插入操作 考虑一颗二叉查找树,每个节点维护它子树的最小值$A_{min}$,最大值$A_{max}$,它本身的实数$\frac{A_{min}+A_{max}}{2 阅读全文
posted @ 2018-12-23 00:19 LLTYYC 阅读(223) 评论(0) 推荐(0)
摘要:传送门 直接搞很复杂,考虑转化问题 题目只要求第1个人最多能获得的物品数量 所以如果一种物品拥有多个和一个是没区别的 那么考虑每种物品对第1个人怎样贡献 显然要经过一些交换最终到达第一个人那里 发现很像一个流,那么考虑建立网络流模型 建一个源点向每个点连一条最大流量为1的边,相当于初始每个点有1个物 阅读全文
posted @ 2018-12-19 18:08 LLTYYC 阅读(260) 评论(0) 推荐(0)
摘要:传送门 回忆一下经典的汉诺塔的递推公式: $f[i]=2f[i-1]+1$,然后回忆一下过程 发现经典汉诺塔的操作也是可以有优先级的 所以考虑可能其他优先级也同样可以递推 具体证明可以参照经典汉诺塔 那么设 $f[i]=kf[i-1]+b$,考虑如何求 k,b 暴力模拟n=1,2,3的情况,求出 f 阅读全文
posted @ 2018-12-18 17:16 LLTYYC 阅读(157) 评论(0) 推荐(0)
摘要:传送门 看一下题意,树上DP? 然后考虑状态,设 f [ x ] [ k ] 表示在 x 的子树上花费 k 元时获得的最大价值 但是可能当前买的用于更高一层的合成,如果这样不能确定当前买的东西是否够更高一层的合成 所以多一维,设 f [ x ] [ j ] [ k ] ,x,k 意义同上,j 表示装 阅读全文
posted @ 2018-12-14 11:31 LLTYYC 阅读(203) 评论(0) 推荐(0)
摘要:传送门 如果没有修改的操作,很容易想到 后缀数组 倍增+哈希求 LCQ 如果有修改呢,哈希值就会发生改变,这时我们就要找一种数据结构来维护哈希值 emm...改字符和插入字符.... 显然可以用平衡树维护 所以总体思路就是用平衡树维护哈希值,然后倍增+哈希求LCQ 怎么维护哈希值很容易想到,直接看具 阅读全文
posted @ 2018-12-13 14:08 LLTYYC 阅读(154) 评论(0) 推荐(0)
摘要:传送门 基础容斥 不合法方案数 = 总方案数 - 合法方案数 合法方案数很好求 第一个位置有 m 种选法 第二个位置有 m-1 种选法(不能与第一个位置冲突) 第三个位置有 m-1 种选法(不能与第二个位置冲突) ...... 除了第一个位置,其他每个位置有有 m-1 种选法 那么就是 $m*(n- 阅读全文
posted @ 2018-12-11 20:05 LLTYYC 阅读(125) 评论(0) 推荐(0)
摘要:传送门 自己在纸上画一下,发现最后留下的线段是下凹的,大概是这样: 把所有直线按斜率从小到大排序,一个个加入考虑 用一个单调栈维护当前能看到的线,如果当前考虑加入的线和倒数第二条线的交点横坐标小于它与最后一条线的横坐标 那么把最后一条线弹出,重复此过程直到不满足上述条件后把此线加入栈 (这个画个图就 阅读全文
posted @ 2018-12-11 19:57 LLTYYC 阅读(131) 评论(0) 推荐(0)
摘要:传送门 prufer序列 因为每个prufer序列唯一对应一颗树,所以如果能求出prufer序列的方案数就能求出树的方案数 一颗 n 个节点的树的prufer序列有 n-2 个数字,每个数字在 [1,n] 的范围内,表示节点编号 对于一个度数为 $d_i$ 的点,它会在prufer序列中出现 $d_ 阅读全文
posted @ 2018-12-11 19:40 LLTYYC 阅读(168) 评论(0) 推荐(0)
摘要:传送门 注意题目的条件: "输入数据保证任意多次洗牌都可用这 m种洗牌法中的一种代 替" 所以对于每种方案,只要考虑经过一次洗牌后可能变成的情况 显然,如果有 m 种洗牌法,那么一种方案就可以被洗出 m+1 种方案 继续考虑,如果有另一种方案不属于这 m+1 种方案 那么它一定也可以洗出另外不重复的 阅读全文
posted @ 2018-12-11 16:43 LLTYYC 阅读(201) 评论(0) 推荐(0)
摘要:传送门 先考虑是一颗树的情况 求最小的 dfs 序 显然按儿子编号从小到大dfs 如果有多一条边怎么办 显然会有一条边不用走 直接枚举删那条边然后每次都暴力 dfs 复杂度 $O(n^2)$ 注意每个节点的儿子顺序先预处理好 不要每次都重新算 阅读全文
posted @ 2018-12-06 13:34 LLTYYC 阅读(390) 评论(0) 推荐(0)
摘要:传送门 考场上把暴力都打满了,结果文件输入输出写错了.... 当时时间很充裕,如果认真想想正解是可以想出来的.. 问你 长度最小的赛道长度的最大值 显然二分答案 考虑如何判断是否可行 显然对于一个节点,它最多只能向父亲传一条路径长度 那么其它路径的合并只能在子树间进行 贪心一波,如果一段路径在子树就 阅读全文
posted @ 2018-12-05 21:43 LLTYYC 阅读(268) 评论(0) 推荐(0)
摘要:传送门 BFS解法 显然如果一个面额A可以被其他面额表示出来 那么这个面额A就没用了 且如果A不能被其他面额表示,那么A一定有用(A本身的值只有自己可以表示) 发现面额最大不超过 25000 那么设 p [ i ] 表示面额 i 能否被其他面额表示 然后跑BFS求 p 就好了 注意初始状态是每两个数 阅读全文
posted @ 2018-12-05 21:19 LLTYYC 阅读(186) 评论(0) 推荐(0)
摘要:传送门 NOIP2013原题 貌似官方数据都是一模一样的 以前写过竟然毫无印象? 考场上自己瞎JB推结论 显然,如果连续的两端区间可以左边区间减 k 次,右边区间也减 k 次 那么把两个区间合并起来一起减 k 次一定是更优的 所以先考虑把整个区间拿来减几次,显然最多减的次数就是整个区间的最小值 然后 阅读全文
posted @ 2018-12-05 21:08 LLTYYC 阅读(280) 评论(0) 推荐(0)