摘要:题目:传送门 题意 有 n 个家庭,每个家庭有 ai 个男孩和 bi 个女孩,n 个家庭总的男孩等于总的女孩。对于来自 i 家庭的男孩他只能和不来自 i 家庭的女孩结婚,也就是来自同个家庭的男孩女孩不能结婚。问有多少种方案,使得这 这些男孩女孩都能成功结婚。 思路 参考博客:戳 对于一个有 x 个男
阅读全文
摘要:题目:传送门 题意 已知一个圆心在原点O的圆的半径,给你两个点P,Q,|PO| == |DO|,P,Q不在圆外。在圆上取一点D,求 |PD| + |QD| 的最小值。 思路 点在圆内,会比较难处理,若点在圆外,则只需分两种情况即可: 1.直线PQ和圆相交,那么D一定是直线PQ和圆的交点中的任意一个,
阅读全文
摘要:题目:传送门 题目 题意:给定两个圆的半径和圆心,它们是相离的,在这两个圆外给定一个点p,输出所有过点p且与已知的两个 圆外切的圆。 思路 根据圆的反演的一些性质,可以将过点 p 的圆与已知两个圆外切转化为过点 p 的直线,与已知两个圆外切。 圆的反演的一些性质: 1、过反演中心的圆,反形(经过反演
阅读全文
摘要:题目:传送门 题意 有n个小朋友坐成一圈,每人有a[i]个糖果。 每人只能给左右两人传递糖果。 每人每次传递一个糖果代价为1。 求使所有人获得均等糖果的最小代价。 1≤n≤1000000数据保证一定有解。 思路 设第一个人给了第 n 个人 x1 个糖果,第二个人给了第一个人 x2 个糖果,.....
阅读全文
摘要:题目:传送门 题意 给你一个序列,序列里一开始只有一个奇数 x,你可以对这个序列进行两种操作: 1.选择两个序列里的数 x, y(两个数可以相等,且只要序列里出现过就可以选择两次),向序列里面加入 x + y 2.选择两个序列里的数 x, y(两个数可以相等,且只要序列里出现过就可以选择两次),向序
阅读全文
摘要:题目:传送门 题意 思路 有两种做法: 一.盲猜 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 个区间,你可以选 i 这个区间的条件是,你选的所有区间的总数介于 [ li, ri ] 之间,有 m 对限制条件,每个限制条件输入两个数 u, v,表示区间 u 和 v 不能同时被选上。问你有多少种不同的满足条件的取法。输出答案对 998244353 取模, 1 <= 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, si
阅读全文
摘要:题目:传送门 题意 定义 Fn 为斐波那契第 n 项,递推式为 输入 N,C,K(1 <= N,C <= 1e18, 1 <= K <= 1e5), 求 输出答案对 1e9 + 9 取模 思路 参考博客 首先,需要知道斐波那契数列的通项公式 然后我们可以用二次剩余,求出 sqrt(5) 在 mod
阅读全文
摘要:题目:传送门 题意 思路 官方题解:地址 #include <bits/stdc++.h> #define LL long long #define ULL unsigned long long #define UI unsigned int #define mem(i, j) memset(i,
阅读全文
摘要:题目:传送门 题意 思路 官方题解: 地址 #include <bits/stdc++.h> #define LL long long #define ULL unsigned long long #define UI unsigned int #define mem(i, j) memset(i,
阅读全文
摘要:一、经典汉诺塔 题意 有三根柱子 A,B,C,柱子 A 上放着 n 个大小不同的盘子,从上往下,盘子大小依次增大。要把所有盘子都移到柱子B上,且移动的过程中,同一根柱子不能出现大盘子在小盘子上方的情况,问至少需要多少次移动。 分析 设 F[n] 为将 n 个盘子从柱子A移动到柱子B的最少移动次数。
阅读全文
摘要:题目:传送门 题意 思路 将 m 写成 a * sqrt(b) 的形式,每个 xi 必然是 ui * sqrt(b) 的形式,且 u1 + u2 + .... + un = a; 那么问题就转化为了,求 u1 + u2 + ... + un = a 有多少本质不同的解,这个问题是经典的整数拆分问题,
阅读全文
摘要:错位排列递推式 f[0] = 0; f[1] = 0; f[i] = (i - 1) * (f[i - 1] + f[i - 2]); HDU 2048 全错位排列 #include <bits/stdc++.h> #define LL long long #define ULL unsigned
阅读全文
摘要:结论:若 n & k == k 则,C(n, k) 为奇数,否则为偶数。 证明
阅读全文
摘要:题目:传送门 题意 Roy 和 PMH 在玩游戏,给定一个长度为 n 的序列,Roy 选子序列的起点,PMH 选子序列的长度,Roy 希望子序列的平均值尽可能大, PMH 希望子序列的平均值尽可能小。假设两人都足够聪明,问 Roy 能获得的最大的平均值是多少,保留6位小数。 思路 结论:对于任何 R
阅读全文