上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 27 下一页
摘要: ##第一次尝试用markdown写博客 其实以前lpy等大佬安利过……但觉得太麻烦了就没学。 因为后面会写大量的数论题,要学着用markdown了…… 感觉还是挺麻烦的,打起来会慢一些,但是功能强大啊 学了接近一上午 \(\cdots\cdots\) 上面的省略号是用latex的数学公式打的 行了, 阅读全文
posted @ 2021-05-09 12:25 尹昱钦 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 前置知识 不会最大流板子的出门右转:https://www.cnblogs.com/yinyuqin/p/14508965.html 小优化 Dinic除了当前弧优化外,还有一点小优化(来自nealchen):在进行bfs分层时,从t点开始搜索分层,搜到s就直接停止搜索。 因为剩下的未分层的点的层数 阅读全文
posted @ 2021-05-06 17:04 尹昱钦 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 洛谷传送门 线段树优化建图 用两个线段树A和B,一个我们称之为入树,一个我们称之为出树,对于每一条边,都是从入树连向出树,具体如下: 若是两个点之间连边,直接从入树对应的叶子节点连向出树的叶子节点 若为单点连向区间,则入树的叶子节点连向出树的区间(按照线段树的插入) 若为区间连向单点,同理,入树的区 阅读全文
posted @ 2021-04-30 21:46 尹昱钦 阅读(43) 评论(0) 推荐(0) 编辑
摘要: HDU传送门 解题思路 总结一下,就是更改最短路的最小代价。 板子题:最短路图上跑最小割。 最短路图 何为最短路图? 显然是最短路组成的图。 各条最短路上的边组成的新图。 求法? 记录最短路显然码量很大,于是乎我们可以从s点跑一遍最短路,在反图上从t点跑一遍最短路,枚举每一条边e<u,v>,若dis 阅读全文
posted @ 2021-04-28 00:08 尹昱钦 阅读(174) 评论(0) 推荐(0) 编辑
摘要: CF传送门 洛谷传送门 解题思路 首先一种不动脑子的做法就是模拟(就是我的做法): 从后往前推,用一个变量y记录状态,枚举到第i堆时,y==1表示到第i堆需要的先手才能胜,y==0表示到第i堆需要后手才能胜。 推到第1位时,若y==1,则first胜,否则second胜。 代码见下方。 写出代码后发 阅读全文
posted @ 2021-04-27 23:53 尹昱钦 阅读(69) 评论(0) 推荐(0) 编辑
摘要: CF传送门 洛谷传送门 解题思路 题目中有几个需要注意的翻译得不是很好的点: 无根树 最后还需要输出每次选取和删除的点 我们回顾一下树的直径dfs求法,可知树上到任意一个点距离最远的点一定是树的直径的一个端点。所以我们可以选取树的直径的某个端点作为整棵树的根,然后对于每个叶子节点: 若不在直径上,比 阅读全文
posted @ 2021-04-25 00:19 尹昱钦 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 传送门 解题思路 结论题,威佐夫博弈就是让你背个结论。 若(向下取整)两个数的差*黄金分割比 == 较小的数,则先手输,否则先手胜。 注意先确定两个数的大小,黄金分割比用double。 AC代码 1 #include<cstdio> 2 #include<iostream> 3 #include<c 阅读全文
posted @ 2021-04-18 17:57 尹昱钦 阅读(50) 评论(0) 推荐(0) 编辑
摘要: CF传送门 洛谷传送门 解题思路 贪心:若序列长度为偶数,则每人拿一半,若为奇数,则所有奇数序列的中间元素从大到小排序,两人依次拿,剩下的两边的也是一人一半。 证明(感性):若对方想要抢走你那一半的元素,说明你那一半的元素肯定更大,你不可能让对面抢去,所以每个人都守着自己这一半的元素。 真不明白为啥 阅读全文
posted @ 2021-04-18 17:31 尹昱钦 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 最近一个多月因为博客园炸了,还被某看看吓到了,就一篇博客没写,晚上也经常划水。 非常愧疚。 嗯,还参加了二轮省选,省选总成绩rank57,只能说还好吧。 青岛二中的wzm进队了orz,小升初参加夏令营还睡在我上铺呢。 人与人之间的差距啊…… 至于省选游记,或许会写吧。 一个月时间一共做了六七道题,真 阅读全文
posted @ 2021-04-18 17:17 尹昱钦 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 最大流传送门 费用流传送门 网络流 很形象的定义:城市水管。 城市之间有许多水管,每根水管有一个最大容量,有一个源点(即出水点)s,和一个汇点t(回收水点)。 而最大流就是求最多能有多少水从源点流向汇点。 用找增广路的思想,每次不断找到增广路,更新答案。 注意要加反向边(返回操作),保证正确性。 但 阅读全文
posted @ 2021-03-09 23:41 尹昱钦 阅读(68) 评论(0) 推荐(0) 编辑
摘要: CF传送门 洛谷传送门 解题思路 很容易发现,对于每一次移动,除了最后一位,每一个数对答案的变化的贡献只有两种情况: 若a[i]>=i,对答案的贡献是+1 若a[i]<i,对答案的贡献是-1 所以我们可以预处理出每个时刻从a[i]<i到a[i]>=i的数有多少个,然后动态维护cnt1和cnt2(分别 阅读全文
posted @ 2021-03-08 00:12 尹昱钦 阅读(45) 评论(0) 推荐(0) 编辑
摘要: CF传送门 洛谷传送门 解题思路 显然有一条性质:每次选择一定选择一整行和一整列。 考虑暴力做法: 把每个点的横坐标连向纵坐标,边权为1,跑一遍最小点覆盖,求出最少选择多少行数+列数使其覆盖所有的边。 由于点可能很多,但是矩形可能很少,所以我们考虑优化。 把所有横纵坐标分别扔到一个数组中,离散化处理 阅读全文
posted @ 2021-03-08 00:05 尹昱钦 阅读(117) 评论(0) 推荐(1) 编辑
摘要: CF传送门 洛谷传送门 解题思路 首先容易想到的是个最小割板子,注意点要分成入点和出点。 其次就是简单的dfs,很显然,答案是0或1或2。 第一遍如果没有路,答案就是0,并且把所有经过的点都标记成障碍。 第二遍再进行一次dfs,若没路,答案就是1,否则就是2。 AC代码 1 #include<cst 阅读全文
posted @ 2021-03-07 21:49 尹昱钦 阅读(72) 评论(0) 推荐(0) 编辑
摘要: CF传送门 洛谷传送门 解题思路 把城市拆成两个点——入点(1~n)和出点(n+1~2n),然后以下情况连边: 读入的边(入连向出),边的流量为max 超级源点向所有城市入点连边,流量为a[i] 所有城市入点向出点连边,流量为max 所有城市出点向汇点连边,流量为b[i] 跑一边最大流,若最大流结果 阅读全文
posted @ 2021-03-07 00:33 尹昱钦 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 传送门 解题思路 先遍历一遍树,求出size[u](节点u的所有相邻节点的点权和),和图中联合权值的最大值。 如何求最大值? 求出每个点相连的点的第一大和第二大点权,相乘后与ans取max。 再求和: 再遍历一遍树,对于每个点u,答案加上w[u]*(size[v]-w[u])。 AC代码 1 #in 阅读全文
posted @ 2021-02-22 11:50 尹昱钦 阅读(79) 评论(0) 推荐(0) 编辑
上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 27 下一页