摘要: 题目链接:https://www.luogu.com.cn/problem/CF1438C 一道很有意思的思维题。 题目说每个元素只能进行加一操作。加一操作最重要的性质就是改变元素的奇偶性。 那么我们可以考虑棋盘的性质 即: 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 这样。其中1代 阅读全文
posted @ 2024-05-14 19:22 Captainfly19 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://www.luogu.com.cn/problem/CF938D 虚拟源点+最短路 首先因为所要求的权值由往返的路费和目的地需要的票价两部分构成,所以我们先对每座城市之间的道路建边,边权直接设为输入的两倍。之后我们建立一个虚拟源点,对所有城市链接一条单向边,边权就是城市的票价 阅读全文
posted @ 2024-05-14 08:30 Captainfly19 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://www.luogu.com.cn/problem/P5214 题意:给定一张无向图,分别进行以下操作: Q:询问图中有多少连通块; A u v :代表在 u v之间链接一条边; D u v:代表删除链接u v的边。 做法:考虑到题目数据范围较小,直接用邻接表存边即可。 可以 阅读全文
posted @ 2024-05-09 23:40 Captainfly19 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://www.luogu.com.cn/problem/P4407 trie树+爆搜 做法:对所有文本串建树。对于编辑距离要求的三种情况,分四类在trie树上爆搜即可。 #define maxn 200010 struct trie{ int son[maxn][26]; int 阅读全文
posted @ 2024-05-09 11:00 Captainfly19 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://www.luogu.com.cn/problem/CF55D 数位dp 解法:所有非零位都能整除这个数,那么就是说这些非零位的公倍数能够整除这个数。 那么按照通常情况我们定义dp数组的时候应该定义成dp[pos][num][gbs],表示当前枚举到了第几位、上次枚举到的数、 阅读全文
posted @ 2024-05-09 10:24 Captainfly19 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://www.luogu.com.cn/problem/AT_abc343_g solution: 1.首先我们将给出的字符串中互相包含的消去,可以使用kmp求前后缀来完成。和这道题的写法一样https://www.luogu.com.cn/problem/CF1200E 2.我 阅读全文
posted @ 2024-04-24 16:14 Captainfly19 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://www.luogu.com.cn/problem/CF911F solution:先求得树的直径,再求得在树的直径上的节点和不在树的直径上的节点。我们考虑优先删除不在直径上的节点,这样不会破坏树的直径,在删完了这些点之后再慢慢删直径上的点。 #include<bits/st 阅读全文
posted @ 2024-04-24 16:00 Captainfly19 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 链接:https://www.luogu.com.cn/problem/P4320 圆方树基础题 实际上就是问给定起点和终点的一条路径上的割点数量。那么建立好圆方树以后,割点的相邻两个点一定是方点,圆点到圆点之间的距离一定是偶数,于是可以知道一条路径中的割点数量= 路径总长度/2 向下取整。那么这道 阅读全文
posted @ 2024-04-22 16:54 Captainfly19 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 链接:https://atcoder.jp/contests/abc350/tasks/abc350_g 大致题意:给出n个点,q个询问 1号询问 要求u,v之前加一条无向边 图始终是一个森林 2号询问 询问是否有一个点与u,v都相邻,若有则输出该点,若无则输出0。 询问强制在线。 思路:在题目要求 阅读全文
posted @ 2024-04-21 22:25 Captainfly19 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 链接:https://www.luogu.com.cn/problem/AT_abc232_g 暴力的做法肯定不行,这道题要用到一个比较经典的拆点操作:把一个点拆成内点和外点。在接下来的分析中会慢慢介绍。 由于题目每次连的边都是单向边,那要考虑的问题是:比如说现在要从1走到3,怎么走才能与暴力建边等 阅读全文
posted @ 2024-04-19 17:55 Captainfly19 阅读(2) 评论(0) 推荐(0) 编辑