随笔分类 -  Achieve

1 2 3 4 5 ··· 8 下一页
摘要:题目链接:https://codeforces.ml/problemset/problem/1519/D 思路: 可以预处理前后缀和 然后枚举翻转的终点 然后左右同时扫一遍得到答案 为了让长度为偶数的情况好处理 可以像manacher那样 把长度边为2*n 中间用0隔开 1 #include<bit 阅读全文
posted @ 2021-04-30 09:33 canwinfor 阅读(137) 评论(0) 推荐(0)
摘要:题目链接:https://www.acwing.com/problem/content/1243/ 思路:考虑暴力的写法 每次枚举每一秒 然后来进行模拟,这样写是n^2的 可以发现很多时间段没有订单 这些都是-1的操作,所以考虑只枚举有订单的点,每次和上一次出现的订单点 相减, 这样就只需要枚举时间 阅读全文
posted @ 2021-04-10 13:56 canwinfor 阅读(68) 评论(0) 推荐(0)
摘要:题目链接:https://www.acwing.com/problem/content/description/1212/ 思路:考虑最暴力的写法 n^2 枚举区间 即起点和终点 然后将区间的数sort一遍 再判断一遍是否每个数都满足递增加1的关系 考虑如何去优化, 区间内的数排序后都要成递增的关系 阅读全文
posted @ 2021-04-08 15:20 canwinfor 阅读(70) 评论(0) 推荐(0)
摘要:题目链接:https://www.acwing.com/problem/content/2875/ 思路:对于每个字母 只有他在子串中第一个出现的时候才有贡献 所以考虑从1~n枚举 对于每个s[i] 计算出所有包含他的子串,且他是第一个出现的种类字母的子串数量即可 lst[i] 记录的是 i类字母上 阅读全文
posted @ 2021-04-08 10:15 canwinfor 阅读(532) 评论(0) 推荐(0)
摘要:题目链接:https://www.acwing.com/problem/content/275/ 思路:首先要知道一个性质 : 一定存在一组最优解b[i] 使得每个b[i]都在a[i] 中出现过 证明略 然后考虑dp[i][j] 代表前i个a[i] 一定匹配好 且b中最后一个数是b[j] 的最小值 阅读全文
posted @ 2021-04-06 21:50 canwinfor 阅读(268) 评论(0) 推荐(0)
摘要:题目链接:https://leetcode-cn.com/problems/sentence-similarity-iii/ 思路:考虑怎么写最少代码最快写完 假定s1是短串 s2是长串 那么就是要满足s1的前缀是s2的前缀,s1的后缀也要是s2的后缀 那么匹配一次前缀匹配一次后缀 用下标i j 记 阅读全文
posted @ 2021-04-04 19:40 canwinfor 阅读(148) 评论(0) 推荐(0)
摘要:题目链接:https://leetcode-cn.com/problems/number-of-different-subsequences-gcds/ 思路: 枚举gcd i 去找所有出现在数组中的i的倍数 只有数组中所有i的倍数的gcd 为i时 才存在一个序列的gcd为 i , 因为如果某个序列 阅读全文
posted @ 2021-04-04 15:39 canwinfor 阅读(112) 评论(0) 推荐(0)
摘要:题目链接:https://www.acwing.com/problem/content/274/ 思路: dp[i][j] 表示 已经走到 a[i] 且结尾为b[j] 的最大值 以a[i] 取和不取 为分界点 不取的话 就是 dp[i-1][j] 要取的话 只有当a[i]==b[j]的时候可以取 但 阅读全文
posted @ 2021-04-03 19:32 canwinfor 阅读(55) 评论(0) 推荐(0)
摘要:题目链接:https://www.acwing.com/problem/content/273/ 思路: 考虑按照1 2 3 递增来放数字, 每次如果要放一个数字,要保证左边一个位置一定要有 数字并且上面一个位置一定要有数字,否则后面的数字不管怎么放 都会不满足题意 dp[i][j][k][x][y 阅读全文
posted @ 2021-04-03 15:34 canwinfor 阅读(75) 评论(0) 推荐(0)
摘要:题目链接:https://www.acwing.com/problem/content/description/146/ 思路:考虑 固定1为根 有节点a,b a到1的路径之间的异或值和b到1之间的异或值相异或的话 得到的结果就是a到b路径的异或值 画图就可以理解 所以题目可以转换成用dfs求出 根 阅读全文
posted @ 2021-04-02 19:43 canwinfor 阅读(110) 评论(0) 推荐(0)
摘要:题目链接:https://codeforces.com/problemset/problem/431/C 题意:给定有根的无限节点的k叉树 问有多少条路径 使得和为n 并且至少有一条边的长度大于d思路:dp[i][0/1] 代表 和为i 的 没有/有经过至少一条边长为d的方案数 每次可以往结尾加的数 阅读全文
posted @ 2021-03-13 15:43 canwinfor 阅读(56) 评论(0) 推荐(0)
摘要:题目链接:https://codeforc.es/contest/1491/problem/C 题意:给定数组s[i] 要求把所有的s[i]减为1 规则是 从i开始 每次可以跳到i+s[i] 跳到的地方数字减1 最低减到1 每次跳出n才算结束,问最少跳多少次可以满足题意 思路:考虑贪心,在前面的肯定 阅读全文
posted @ 2021-03-01 21:46 canwinfor 阅读(56) 评论(0) 推荐(0)
摘要:题目链接:https://www.acwing.com/problem/content/description/1416/ 思路:任意一段可以通过前缀和转换成两个点的最大值 那么就变成了最简单的trie求一对 数 的最大异或了,然后要求左边界最大,右边界最小 只需要 保留第一个答案 并且更新的时候直 阅读全文
posted @ 2021-02-28 11:21 canwinfor 阅读(106) 评论(0) 推荐(0)
摘要:题目链接:https://ac.nowcoder.com/acm/contest/9984/B 思路:先枚举 si 有多少个能匹配得上, 然后再从i+1的位置开始 找 t 最多能匹配上s的前缀有多少个 字符串哈希后用二分 找最大的k即可 每次长度为k的每一个都能产生贡献,所以每次+k 1 #incl 阅读全文
posted @ 2021-02-24 21:56 canwinfor 阅读(316) 评论(0) 推荐(0)
摘要:题目链接:https://codeforces.ml/problemset/problem/1083/A 题意:给定一棵树 每个节点和每条边都有权值,问如何选择一条路径使得 节点的权值-边权值最大, 并且在u-> v的过程中 权值-边权一定要≥0 思路:用树形dp dp[i] 为以i为根能走到的最远 阅读全文
posted @ 2021-02-22 18:52 canwinfor 阅读(47) 评论(0) 推荐(0)
摘要:题目链接:https://codeforces.ml/problemset/problem/1118/F1 题意:每个节点染上红或蓝或者不染色, 问有多少条边 使得该边删去后的两个连通块都不同时包含红和蓝色 思路:对于每个子树来说,要满足题意只能够是子树全部有红色,然后上半部分全部有蓝色这种情况,或 阅读全文
posted @ 2021-02-21 23:07 canwinfor 阅读(88) 评论(0) 推荐(0)
摘要:题目链接:https://codeforces.ml/contest/1213/problem/G 题意:给定一棵树,n-1条边, m次询问,每次询问 是有多少对点 的简单路径的边权最大不超过q 思路: 类似kruskal 的思想 从小到大边排序 然后再慢慢加进来,每次加边的过程 是sum[u]*s 阅读全文
posted @ 2021-02-21 11:30 canwinfor 阅读(71) 评论(0) 推荐(0)
摘要:题目链接:https://codeforces.ml/problemset/problem/1286/B 题意:给定一棵有根树 每个节点上有c[i] 代表子树上 有 c[i]个 a[j]<a[i] 问能否找到给每个节点赋值a[i] 使得满足题意 思路: 考虑只用1到n 来编号, 可以证明 从根开始d 阅读全文
posted @ 2021-02-20 22:39 canwinfor 阅读(54) 评论(0) 推荐(0)
摘要:题目链接:https://codeforces.ml/problemset/problem/1037/D 题意:给定一棵树 和一个bfs序列 问以1为根用bfs开始遍历能否得到这个序列 思路:考虑将相邻的边 按照先后排序后 跑一遍bfs 看是否能对的上,全部对的上即为合法序列 1 #include< 阅读全文
posted @ 2021-02-20 01:19 canwinfor 阅读(19) 评论(0) 推荐(0)
摘要:题目链接:https://ac.nowcoder.com/acm/contest/9982/I 思路: 埃氏筛的时候dp转移即可 即使会重复筛到,但最大的质因数会在最后更新保证正确性 因为是接在最后一位上面,假设当前的质因子是x位数 那么就记得把前面的数乘上10^x 1 #include<bits/ 阅读全文
posted @ 2021-02-10 21:12 canwinfor 阅读(68) 评论(0) 推荐(0)

1 2 3 4 5 ··· 8 下一页