摘要:题目:传送门 题意 有 n 个家庭,每个家庭有 ai 个男孩和 bi 个女孩,n 个家庭总的男孩等于总的女孩。对于来自 i 家庭的男孩他只能和不来自 i 家庭的女孩结婚,也就是来自同个家庭的男孩女孩不能结婚。问有多少种方案,使得这 这些男孩女孩都能成功结婚。 思路 参考博客:戳 对于一个有 x 个男
阅读全文
摘要:题目:传送门 题意 有n个小朋友坐成一圈,每人有a[i]个糖果。 每人只能给左右两人传递糖果。 每人每次传递一个糖果代价为1。 求使所有人获得均等糖果的最小代价。 1≤n≤1000000数据保证一定有解。 思路 设第一个人给了第 n 个人 x1 个糖果,第二个人给了第一个人 x2 个糖果,.....
阅读全文
摘要:题目:传送门 题意 给你一个序列,序列里一开始只有一个奇数 x,你可以对这个序列进行两种操作: 1.选择两个序列里的数 x, y(两个数可以相等,且只要序列里出现过就可以选择两次),向序列里面加入 x + y 2.选择两个序列里的数 x, y(两个数可以相等,且只要序列里出现过就可以选择两次),向序
阅读全文
摘要:题目:传送门 题意 思路 若能求得取得两点距离为 i 的总概率,那么就可以直接 o(n) 得到答案了。 问题转化为求树上所有距离为 i (i:0~n-1) 的点对的概率和。 考虑用分治,每次,找一颗树的根,使得根的儿子中最深的深度尽可能的小。 然后,遍历根的所有儿子,每次,算出儿子到根的距离,维护概
阅读全文
摘要:题目:传送门 题意 给你两个01串 a 和 b,让你构造一个长度最短的且字典序最小的 01串,使得这个 01串既不是 a 的子串,也不是 b 的子串。 a,b串的长度都在1~4000之间。 思路 设 dp[x][y] 表示 a 串处理完了前 x 个, b 串处理完了前 y 个,构造出来的答案串的最小
阅读全文
摘要:题目:传送门 题意 给你一个序列 A 让你求F(A) 思路 一看到这题,一般很自然的能想到两种思路: 1.枚举每个 a[i],算出满足以当前点为最大值的区间最大区间,然后去求这个最大区间和其子区间的 gcd 的和,相乘累加起来即为答案; 2.枚举区间右端点,然后 1 ~ i 这一段会分成若干 gcd
阅读全文
摘要:题目:传送门 题意 思路 有两种做法: 一.盲猜 a = b,那就直接二分 a,就完事儿了. 二.按照题解那样的思路,这个会比较难想一点吧。 #include <bits/stdc++.h> #define LL long long #define ULL unsigned long long #d
阅读全文
摘要:题目:传送门 题意 给你 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; 输出任意一个满
阅读全文
摘要:题目:传送门 题意 思路 大佬精讲 #include <bits/stdc++.h> #define LL long long #define ULL unsigned long long #define UI unsigned int #define mem(i, j) memset(i, j,
阅读全文
摘要:题目:传送门 题意 思路 邓老师精讲 这题有一个巧妙的转换就是,将这种二分图问题,转移到二维矩阵上。 这里我们可以将二分图投射到一个 n * n 的矩阵上; 题目要求给边染色,且任意两条红色边不共享端点,任意两条蓝色边不共享端点; 那在矩阵上,问题可以转化为,在 n * n 的矩阵上放若干红色和蓝色
阅读全文
摘要:题目:传送门 题意 1 <= n, k <= 300 思路 这题邓老师用的是 dfs 序做的 --> 戳我 用dfs序的话,是 o(nk)的,复杂度略高 这题还可以用另一种思维做; 可以将染色转化为,将一颗树分成若干连通块,连通块里的颜色都相同,不同连通块的颜色不同; 把一颗树分成不同的两个连通块就
阅读全文
摘要:题目:传送门 题意 给出一个长度为 n 的排列 ai 规定一个区间 [l,r] 是 fair 的,当且仅当区间最小值等于 l,最大值等于 r; 求 fair 区间的个数。 1 <= n <= 1e6 思路 对于每个 i,若 ai <= i,则表示 i 这个点可以作为某些 fair 区间的右端点,那么
阅读全文
摘要:题目:传送门 题意 在一个有 n 个城市的城市网络上,首都城市是 1 号城市,第 i 个城市会售价格为 ai 的珠宝,现在, 有 q 次行程,每次行程从 u 节点到 v 节点,保证 v 在 u 去首都的最短路的路上,你手上有价格为 c 的珠宝,如果你到达某个城市,它出售的珠宝的价格比你手上的所有珠宝
阅读全文
摘要:题目:传送门 题意 有两个人 First 和 Second 在玩游戏,首先,给出一个 n,First 会将 1,2,....2*n 这 2*n 个数分成 n 组,而 Second 要在这 n 组数中,每组选一个数,若 Second 选的 n 个数的和是 2 * n 的倍数,则 Second 赢,否则
阅读全文
摘要:题目:传送门 题意 给你一个长度为 2^n 的序列 a,你有 q 次操作,每次操作有四种情况: 对所有操作4输出答案 思路 操作2,相当于分别执行 swap(k), swap(k - 1), swap(k - 2).... swap(1) 所以,只要维护一下,每个 k 的 swap 次数的奇偶性即可
阅读全文
摘要:题目:传送门 题意 在左下角为(0, 0),右上角为 (1e6, 1e6) 的正方形中,有 n 条平行于 x 轴的线段和 m 条平行于 y 轴的线段,保证每条线段至少与正方形的一条边相交,且保证不存在两条线段在同一条线上,问你这些线段将正方形分成了几块. 思路 有两种情况,会增加一块: 1.当线段与
阅读全文
摘要:题目:传送门 题意 在直角坐标系中,有 n + 1 条线段,第一条线段连接着 (0, 0) , (0, y),最后一条线段连接着 (x, 0) , (x,y),第 i 条线段,连接着 (ai, 0) , (ai, y), 0 = a0 < a1 < a2 < .... < an = n。你能从任何点
阅读全文
摘要:题目:传送门 题意 在 n + 1 行,m 列矩阵里,你起初在第 1 行的某一列上,你只能向右或者向下移动,输出 n 行,第 i 行,代表你从第 1 行,移动到第 i + 1 行的最少步数,每一行的第 a[i] ~ b[i] 列的位置都不能向下移动。 思路 mp[ i ] 表示 i 这个点,可以从第
阅读全文
摘要:题目:传送门 题意 输入一个长度为 n 的序列 A,有两个人轮流进行操作,每次操作先选择序列 A 里的一个数 y,并将 y 从序列 A 删除,假设操作前选手的分数为 x,则该选手的分数变为 x^y; 起初两名选手的分数都为 0,最终谁的分数大谁赢,问最终先手是 赢 还是 输 还是 平手,假设两人都足
阅读全文
摘要:题目:传送门 题意 定义 Fn 为斐波那契第 n 项,递推式为 输入 N,C,K(1 <= N,C <= 1e18, 1 <= K <= 1e5), 求 输出答案对 1e9 + 9 取模 思路 参考博客 首先,需要知道斐波那契数列的通项公式 然后我们可以用二次剩余,求出 sqrt(5) 在 mod
阅读全文