09 2018 档案
摘要:[TOC] 2018.9.29 正睿提高6 时间:3.5h(实际) 期望得分:100+30+1 实际得分:100+20+0 "比赛链接" T3想了一个半小时1分也没有TAT printf神奇的返回值。。 A "题目链接" cpp //容斥一下就好了 include include include /
阅读全文
摘要:你需要用给定的个武器摧毁架飞船中的某一些。每架飞船需要被摧毁恰好一次。
武器共三种:1.可以在给定的集合中摧毁一架飞船;2.可以摧毁区间中的一架飞船;3.摧毁给定三架飞船中的恰好两架(保证武器3中给定的所有飞船不同)。
某些武器可以可以不用。求最多能摧毁飞船的数量。
阅读全文
摘要:"题目链接" 先考虑,对于确定的一个数,怎样移动代价最少(或者移到哪个位置最优)? 假设我们都移到下标位置(设集合点为),那么移动到下标与相比代价差为:。 如果它为负,那么把移到的代价加上它,令集合点变为... 这样一直改变集合点,直到 $下标
阅读全文
摘要:[TOC] 2018.9.28 正睿普及3 时间:(实际) 期望得分:100+100+100+...100? 实际得分:100+96+100+0 "比赛链接" D这种模拟还是趁早放弃好 放代码自己体会 C题是搞笑的吧 过几天能交了再改 A "题目链接" B "题目链接" cpp include in
阅读全文
摘要:
强制在线
阅读全文

摘要:"题目链接" 对于相邻的、处在同在一行或一列的车站连边,然后用dis[x][0/1](或者拆点)分别表示之前是从横边还是竖边到x的,跑最短路。 我选择拆点。。 cpp //13028kb 604ms include include include include include // define
阅读全文
摘要:给定一张带权图(边是双向的,但不同方向长度不同)。求从1出发,至少经过除1外的一个点,再回到1的最短路。点和边不能重复经过。
阅读全文
摘要:"题目链接" 题意可以看做,用,能组成多少个中的数。 (40分就是个完全背包) 首先如果可以组成,那么自然也可以组成($k\geq 0,0\leq x include include include incl
阅读全文
摘要:"题目链接" 首先想到同样例1的构造方式。即不得不填负的格子填,其余填。直接这样能过二三十个点。 只这样不对。比如1 4 1 3,会输出无解(会填[1 1 3 1])。怎么改呢。对于一个点,它可以覆盖多个的子矩形,只要对每个子矩形满足负权和,它们的和可以尽量大。 将原方案
阅读全文
摘要:[TOC] 2018.9.22 正睿提高5 时间:3.5h 期望得分:100+80+30 实际得分:100+80+30 "比赛链接" T2一直以为类似某道虚树题(SDOI2015)。。到最后只想写暴力(写了暴力也该想到了啊 但是已经在划水了)。 A 数组计数(DP) "题目链接" DP。前缀和优化一
阅读全文
摘要:[TOC] 2018.9.23 牛客提高集训营3 时间:3.5h 期望得分:100+60+0 实际得分:100+0+0 "比赛链接" A 管道维修(递推 期望) "题目链接" 我们可以算每个点要需恰好清k次的概率,但实际上只需要算每个点至少需清k次的概率。 一个格子期望清理次数 = 至少需1次的概率
阅读全文
摘要:"题目链接" 先随便建一棵树。 如果两个点(u,v)不经过非树边,它们的dis可以直接算。 如果两个点经过非树边呢?即它们一定要经过该边的两个端点,可以直接用这两个点到 u,v 的最短路更新答案。 所以枚举每条非树边的两个端点,求一遍这两个点到所有点的最短路。非树边最多21条,所以要求一遍最短路的点
阅读全文
摘要:对于每个串,求在个串中只在该串中出现过的子串的数量。
阅读全文
摘要:[TOC] "比赛链接" A 天(贪心) "题目链接" 选择用小根堆维护。我们发现问题在于,当前取了一个前面最小的配对,但有可能后面有更优的与配对。 但是注意到,我们可以让选,同时有机会让撤销选$
阅读全文
摘要:
阅读全文

摘要:"题目链接" 容易想到田忌赛马。但是是不对的,比如2 3对1 3,按田忌赛马策略会3 1 2 3,但是3 3 2 1显然更优。 而如果按己方最强 =对方最强则开打,也是不对的,比如1 3对2 3,按该策略会3 3 1 2。 问题在于,在第一种情况下,对面最弱的2分是一定可以得到的。 于是得到贪心策略
阅读全文
摘要:"题目链接" 如果贪心,正的显然先选。然后处理负的,好像要用背包。 看这数据范围不如直接用背包。表示前个物品,剩下个钩子的最大价值。 因为没有钩子的放前面无法转移,所以先按排序。 因为数据多 开N N的数组在bzoj上跑的好慢。。 cpp //1048kb 6
阅读全文
摘要:有一张个点条边的无向图,每个点有点权。图是安全的当且仅当所有边的两个端点权值不同。保证初始时图是安全的。
现在有权值为的病毒,若它感染了某个点,则该点点权变为。
求有多少数对,满足病毒的权值为,且感染了集合中的所有点后,满足图仍是安全的。
阅读全文
摘要:"题目链接" 通过两次可以先确定首字母。然后还剩下位,之后每一位只有三种可能。 最简单的方法是每次确定一位,通过两次询问显然可以确定。但是只能一次询问。 首字母只会出现一次,即我们可以将串分割成个进行一次询问。我们是可以一次询问确定一位的。 比如:首字母为,其它字母为
阅读全文
摘要:有n个座山,其高度为hi。有m条带权双向边连接某些山。多次询问,每次询问从v出发 只经过边权<=x的边 所能到达的山中,第K高的是多少。
强制在线。
阅读全文
摘要:"题目链接" 因为有删除,考虑倒序处理某个p的询问。 那么每天删除xi的蔬菜就变成了每天运来xi的蔬菜。那么我们取当前最优的即可,早取晚取都一样,不需要留给后面取,还能给后面更优的留出空间。 这样就只需考虑现在了。于是我们能得到p为某个值的答案。多次询问显然需要递推。 而p 1与p相比只是少卖了m的
阅读全文
摘要:题目链接 洛谷 题意:给一个正整数n,它可以写成一些斐波那契数的和的形式。如果我们要求不同的方案中不能有相同的斐波那契数,那么对一个n最多可以写出多少种方案? 首先我们知道: 也很好理解。如果相邻两项出现在斐波那契表示法中,那它们显然可以合并。 所以我们能得到的斐波那契表示,记
阅读全文
摘要:求
阅读全文
摘要:"题目链接" 对于,我们能想到小根堆。题意就是,求构成大小为的小根堆有多少种方案。 考虑DP,表示构成大小为的小根堆的方案数,那么如果我们确定左右子树,则左右子树又分别是一个子问题。 那么可以得到转移方程:$f[i]=C_{i 1}^l
阅读全文
摘要:[TOC] 2018.9.16 牛客提高集训营2 期望得分:100+40+10 实际得分:100+10+10 非要用滚动数组,还不好好清空,丢了30分吧。 "比赛链接" A 方差 "题目链接" 拆一下方差的式子就可以得到要求的值了。 出题人:数据是精心设计的,刚好不会爆longlong。
阅读全文
摘要:BZOJ 洛谷 [Update 18.11.5] 晚上没事看了看课本,这不(大部分)是数学选修2-3的内容么。。也许没有那么...啊? [Update 19.5] 学了学文化课觉得,这tm不就是数学选修2-3的课后练习题么?学了2-3然后套俩模板就完事了?出题人真是nb。 \(Description
阅读全文
摘要:BZOJ DBZOJ 记mx为最大的满足1mx都能组成的数。 考虑当前能构成1v中的所有数,再加入一个数x,若x>v+1,则mx=v,x不会产生影响;否则x<=v+1,则新的mx=x+v。 对于区间[l,r]的询问,模拟这个过程。假设当前答案为v,查询[l,r]中值在[1,v+1]中的数的和sum,
阅读全文
摘要:"题目链接" 稳定婚姻问题:有n个男生n个女生,每个男/女生对每个女/男生有一个不同的喜爱程度。给每个人选择配偶。 若不存在 x,y未匹配,且x喜欢y胜过喜欢x当前的配偶,y喜欢x也胜过y当前的配偶 的完备匹配,则称这是一个稳定匹配。 稳定匹配一定存在,且存在一个的算法: 任选一个未
阅读全文
摘要:维护一个序列,支持区间and/or一个数、区间查询最大值。
阅读全文
摘要:"BZOJ" "洛谷" 删掉的数即三个区间数的并,想到bitset;查多个区间的数,想到莫队。 考虑bitset的每一位如何对应每个数的不同出现次数。只要离散化后不去重,每次记录time就可以了。 但是如果对所有询问开一个bitset会MLE。但是我们可以开M个bitset,每次处理M次询问。 注意
阅读全文
摘要:给定一张有向图,求对于哪些点,删除它和它的所有连边后,图没有环。
阅读全文
摘要:[TOC] 2018.9.9 牛客提高集训营1 时间:3.5h(实际) 实际得分:40+95+0 T1枚举区间求个中位数60分,写得好就是80分啊。我怎么想的→_→。。 T3又T又MLEsmg。虽然是个树剖+线段树+二分+bitset,但还是靠谱(不至于MLE)的吧。。莫名死循环...? "比赛链接
阅读全文
摘要:"题目链接 BZOJ" "洛谷" 先求最短路树。考虑每一条非树边(u,v,len),设w=LCA(u,v),这条边会对w v上的点x(x!=w)有dis[u]+dis[v] dis[x]+len的距离。 每条边用dis[u]+div[v]+len更新链。树剖就做完了。 因为每个点只需取最小值,所以把
阅读全文
摘要:给n个模式串,问是否存在长度无限的主串,使得任何一个模式串都没有在主串中出现。
阅读全文
摘要:"题目链接" 这不就是个求区间众数的次数么,还不强制在线,值域分块与莫队都可做,用的莫队。 发现从区间减掉一个数,如果它是答案,好像很难处理? 但是答案要么不变要么就 1啊,记一下出现x次的有多少个数不就行了。 cpp //1630ms 6.86MB include include include
阅读全文
摘要:"题目链接" 首先黑白棋子的交换等价于黑棋子在白格子图上移动,都到达指定位置。 ~~在这假设我们知道这题用网络流做。~~ 那么黑棋到指定位置就是一条路径,考虑怎么用流模拟出这条路径。 我们发现除了路径的起点和终点的格子消耗次数为1,路径上其它点的格子交换次数为。 可以想到把每个点拆成和
阅读全文
摘要:BZOJ 洛谷 首先空格的移动等价于棋子在黑白格交替移动(设起点,即与白子交换的格子为黑色),且不会走到离起点距离为奇数的黑格、到起点距离为偶数的白格(删掉/当作障碍就行了),且不会重复走一个格子(回不去)。 (然后策略就同上题了,只不过第一步是走棋子) 还是考虑二分图最大匹配。如果起点不一定在最大
阅读全文
摘要:一个的有障碍的棋盘,先手放置棋子后,两个人轮流移动棋子,不能走重复的位置,不能移动的输。求在哪些位置放棋子是先手必胜的。
阅读全文
摘要:"题目链接" Update: 我好像刚知道多路增广就是zkw费用流。。 cpp //1314ms 2.66MB 本题优化明显 include include include include include // define gc() getchar() define MAXIN 350000 de
阅读全文
摘要:"题目链接" "LOJ" "洛谷" ~~容易想到~~最小费用最大流分配度数。 因为水管形态固定,每个点还是要拆成4个点,分别当前格子表示向上右下左方向。 然后能比较容易地得到每种状态向其它状态转移的费用(比如原向上的可以流到向下)。 注意比如向左向上的L,左连右,上连下,没有上连右(日常zz)。 "
阅读全文
摘要:
阅读全文

摘要:[TOC] Codeforces 1037 "比赛链接" F之后的先不做了... A.Packets logn+1,没细想,反正对。 B.Reach Median cpp //写法麻烦了 include include include define gc() getchar() const int
阅读全文
摘要:有一棵树。Limak可以攻击树上的某棵子树,然后这棵子树上的每条边有的概率消失。定义 若攻击以为根的子树,高度为子树剩余点(与x连通)的最大深度。共次操作,两种:
.新建一个节点,其父节点为。
.询问若攻击以为根的子树,子树的期望高度。
阅读全文
摘要:在树上选取不相交的两条链,使得经过的点的点权和最大。
阅读全文