摘要:
建模简析: 按标程的思路,不同的主要是缩点: 阅读全文
摘要:
/* HDU 6043 - KazaQ's Socks [ 找规律 ] | 2017 Multi-University Training Contest 1 题意: 一共 n 双袜子编号 1~n,每天早上选取编号最小的一双穿, 当晚上发现只剩一双袜子能穿时,把之前的袜子都洗了, 明天晚上就可以穿了。 问第 k 天穿的是编号为几的袜子 分析: n = 3时模拟每天穿的袜子 :... 阅读全文
摘要:
/* HDU 6033 - Add More Zero [ 简单公式 ] | 2017 Multi-University Training Contest 1 题意: 问 2^n-1 有几位 分析: 位数直接 log10 ,减一可忽略 */ #include int t, m; int main() { t = 0; while (~scanf("%d", &m)) ... 阅读全文
摘要:
和题解大致相同的思路 限制第k小的大小后,满足这个限制的答案的数量具有单调性,故还可以二分第k小 暴力DFS+剪枝 验证,就是代码不算好写 阅读全文
摘要:
/* HDU 6050 - Funny Function [ 公式推导,矩阵快速幂 ] 题意: F(1,1) = F(1, 2) = 1 F(1,i) = F(1, i-1) + 2 * F(1, i-2) , i >= 3 F(i, j) = ∑ F(i-1, j) , k∈[j, j+N-1] 给定 N, M using namespace std; #define LL lo... 阅读全文
摘要:
/* HDU 6053 - TrickGCD [ 莫比乌斯函数,筛法分块 ] | 2017 Multi-University Training Contest 2 题意: 给出数列 A[N],问满足: 1 = 2 ; 的 B[N] 数列的个数 分析: 设 gcd(b1,...bn) = k (k >= 2),此时 k 对答案的贡献为 (a1/k)*(a2/k)*(a3/k)*...*... 阅读全文
摘要:
/* HDU 6055 - Regular polygon [ 分析,枚举 ] 题意: 给出 x,y 都在 [-100, +100] 范围内的 N 个整点,问组成的正多边形的数目是多少 N using namespace std; int n; bool mp[1005][1005]; int ans; int x[505], y[505]; void solve(int x1, int ... 阅读全文
摘要:
/* HDU 6045 - Is Derek lying [ 分析 ] 题意: 有N个问题, 每个问题有A,B,C三种答案,答对加一分,答错不加分 给出甲乙两人的答案,给出两人的分数先x, y,问分数是否正确 分析: 统计甲乙相同的答案数目为 a, 不同的答案数目为 b 若甲的分数为x,则y能取到的最小值为 max(0, x-b),即甲答对的题目尽量在b中 y能取到的最大值为 b-ma... 阅读全文
摘要:
研究一下建树 : 要么直接 map 阅读全文
摘要:
/* HDU 6040 - Hints of sd0061 [ 第k小数查询,剪枝 ] 题意: 给出随机数列 a[N] (N using namespace std; #define LL long long unsigned x, y, z; unsigned rng61() { unsigned t; x ^= x > 5; x ^= x = 0; i--) ... 阅读全文