09 2020 档案

牛客挑战赛43. C.最优公式 (二分,思维,切比雪夫距离与曼哈顿距离的转换)
摘要:题目:传送门 题意 思路 有两种做法: 一.盲猜 a = b,那就直接二分 a,就完事儿了. 二.按照题解那样的思路,这个会比较难想一点吧。 #include <bits/stdc++.h> #define LL long long #define ULL unsigned long long #d 阅读全文

posted @ 2020-09-22 23:21 Willems 阅读(236) 评论(0) 推荐(0)

F. Equal Product (数学,思维,暴力)
摘要:题目:传送门 题意 给你 n,m,l,r;你需要找到 (x1, x2, y1, y2) 这样的四元组,满足: 1 <= x1 < x2 <= n; 1 <= y2 < y1 <= m; x1*y1 = x2*y2; l <= x1*y1 <= r; 对于每个x1=1,2,....n; 输出任意一个满 阅读全文

posted @ 2020-09-19 15:05 Willems 阅读(250) 评论(0) 推荐(0)

BJOJ 4402 Claris的剑 (组合数学,思维)
摘要:题目:传送门 题意 思路 大佬精讲 #include <bits/stdc++.h> #define LL long long #define ULL unsigned long long #define UI unsigned int #define mem(i, j) memset(i, j, 阅读全文

posted @ 2020-09-18 14:00 Willems 阅读(312) 评论(0) 推荐(0)

牛客.二分图染色 (组合数学,思维,递推)
摘要:题目:传送门 题意 思路 邓老师精讲 这题有一个巧妙的转换就是,将这种二分图问题,转移到二维矩阵上。 这里我们可以将二分图投射到一个 n * n 的矩阵上; 题目要求给边染色,且任意两条红色边不共享端点,任意两条蓝色边不共享端点; 那在矩阵上,问题可以转化为,在 n * n 的矩阵上放若干红色和蓝色 阅读全文

posted @ 2020-09-18 13:16 Willems 阅读(192) 评论(0) 推荐(0)

树 (DP,dfs序,组合数学,思维)
摘要:题目:传送门 题意 1 <= n, k <= 300 思路 这题邓老师用的是 dfs 序做的 --> 戳我 用dfs序的话,是 o(nk)的,复杂度略高 这题还可以用另一种思维做; 可以将染色转化为,将一颗树分成若干连通块,连通块里的颜色都相同,不同连通块的颜色不同; 把一颗树分成不同的两个连通块就 阅读全文

posted @ 2020-09-17 09:31 Willems 阅读(184) 评论(0) 推荐(0)

牛客练习赛69 E.子串 (树状数组, 思维)
摘要:题目:传送门 题意 给出一个长度为 n 的排列 ai 规定一个区间 [l,r] 是 fair 的,当且仅当区间最小值等于 l,最大值等于 r; 求 fair 区间的个数。 1 <= n <= 1e6 思路 对于每个 i,若 ai <= i,则表示 i 这个点可以作为某些 fair 区间的右端点,那么 阅读全文

posted @ 2020-09-13 15:07 Willems 阅读(248) 评论(0) 推荐(0)

牛客练习赛14 B.区间的连续段 (倍增)
摘要:题目:传送门 题意 思路 用 f[i][j] 表示,从 i 开始,分 2^j 个连续段,使得每段的和都 <= k 的右端点 + 1; 由于 a[i] >= 1,所以前缀和单调递增, 可以用二分求 f[i][0],然后 f[i][j] = f[f[i][j-1]][j-1]; 对于每次询问,从 l 开 阅读全文

posted @ 2020-09-11 15:35 Willems 阅读(164) 评论(0) 推荐(0)

城市网络(树上倍增)
摘要:题目:传送门 题意 在一个有 n 个城市的城市网络上,首都城市是 1 号城市,第 i 个城市会售价格为 ai 的珠宝,现在, 有 q 次行程,每次行程从 u 节点到 v 节点,保证 v 在 u 去首都的最短路的路上,你手上有价格为 c 的珠宝,如果你到达某个城市,它出售的珠宝的价格比你手上的所有珠宝 阅读全文

posted @ 2020-09-11 14:24 Willems 阅读(164) 评论(0) 推荐(0)

D. Game of Pairs (构造,思维)
摘要:题目:传送门 题意 有两个人 First 和 Second 在玩游戏,首先,给出一个 n,First 会将 1,2,....2*n 这 2*n 个数分成 n 组,而 Second 要在这 n 组数中,每组选一个数,若 Second 选的 n 个数的和是 2 * n 的倍数,则 Second 赢,否则 阅读全文

posted @ 2020-09-10 16:24 Willems 阅读(196) 评论(0) 推荐(0)

G. Mercenaries (组合数,容斥,数学)
摘要:题目:传送门 题意 有 n 个区间,你可以选 i 这个区间的条件是,你选的所有区间的总数介于 [ li, ri ] 之间,有 m 对限制条件,每个限制条件输入两个数 u, v,表示区间 u 和 v 不能同时被选上。问你有多少种不同的满足条件的取法。输出答案对 998244353 取模, 1 <= n 阅读全文

posted @ 2020-09-10 00:23 Willems 阅读(189) 评论(0) 推荐(0)

F - x-prime Substrings (AC自动机 + dp)
摘要:题目:传送门 题意 思路 看数据很容易想到二维 DP,只不过只想到 DP 还远远不够。 和不超过 20 的字符串不超过 2500 个,长度最长为 20。 那我们可以先暴力预处理出这些字符串,并建 trie 树. 用 dp[i][j] 表示处理完前 i 个字符,后缀在 trie 树上对应着 节点 j 阅读全文

posted @ 2020-09-06 16:36 Willems 阅读(107) 评论(0) 推荐(0)

合并回文子串 (区间 dp,最长回文子序列)
摘要:题目:传送门 题意 思路 邓老师精讲 #include <bits/stdc++.h> #define LL long long #define ULL unsigned long long #define UI unsigned int #define mem(i, j) memset(i, j, 阅读全文

posted @ 2020-09-06 10:06 Willems 阅读(192) 评论(0) 推荐(0)

F. Reverse and Swap (线段树, 思维)
摘要:题目:传送门 题意 给你一个长度为 2^n 的序列 a,你有 q 次操作,每次操作有四种情况: 对所有操作4输出答案 思路 操作2,相当于分别执行 swap(k), swap(k - 1), swap(k - 2).... swap(1) 所以,只要维护一下,每个 k 的 swap 次数的奇偶性即可 阅读全文

posted @ 2020-09-05 20:10 Willems 阅读(201) 评论(0) 推荐(0)

E. Divide Square (树状数组,扫描线,思维)
摘要:题目:传送门 题意 在左下角为(0, 0),右上角为 (1e6, 1e6) 的正方形中,有 n 条平行于 x 轴的线段和 m 条平行于 y 轴的线段,保证每条线段至少与正方形的一条边相交,且保证不存在两条线段在同一条线上,问你这些线段将正方形分成了几块. 思路 有两种情况,会增加一块: 1.当线段与 阅读全文

posted @ 2020-09-05 10:58 Willems 阅读(193) 评论(0) 推荐(0)

CF G. Running Competition (NTT, 思维)
摘要:题目:传送门 题意 在直角坐标系中,有 n + 1 条线段,第一条线段连接着 (0, 0) , (0, y),最后一条线段连接着 (x, 0) , (x,y),第 i 条线段,连接着 (ai, 0) , (ai, y), 0 = a0 < a1 < a2 < .... < an = n。你能从任何点 阅读全文

posted @ 2020-09-03 15:28 Willems 阅读(226) 评论(0) 推荐(0)

导航