摘要: 欢迎来到我的博客 我是PHarr,常以PHarr这个ID在各大OJ闲逛 退役OI选手,现役ACM选手 毕业于焦作市解放区实验学校、焦作市外国语中学、焦作市第一中学、沁阳市第一中学 这个博客主要用来写写算法笔记,有时写点人生感悟 联系我 email : pharr.mx@outlook.com 荣誉墙 阅读全文
posted @ 2019-07-27 16:28 PHarr 阅读(376) 评论(0) 推荐(0) 编辑
摘要: https://codeforces.com/gym/105336 B - 军训 II 排序后肯定是最优解,方案数就是能排成有序序列的个数 #include <bits/stdc++.h> using namespace std; using i32 = int32_t; using i64 = l 阅读全文
posted @ 2024-09-18 17:58 PHarr 阅读(3) 评论(0) 推荐(0) 编辑
摘要: A. World Cup 这道题目难点主要是读懂题意,然后按照题意手玩一下就出来了。 按照题目手玩一下样例就可以找到规律,在采取最优分组策略的情况下,能够影响的结果的就是比自己分数的低的人的个数。 当进入 32 强后,如果有2个人比你的分数低,你就晋级。 当进入 16 强后,有两种情况,在你自己的组 阅读全文
posted @ 2024-09-17 21:31 PHarr 阅读(51) 评论(0) 推荐(0) 编辑
摘要: A. Simple Palindrome 考虑到对于同一种字母无论怎么摆放,对答案的影响是相同的。所以我们可以直接把同一种字母放在一起,考虑不同中字母间为了消除回文串,必须是的同一种字母不会出现在另一种字母的两侧。因此我们只要尽可能的均分五种字母就好了。 #include <bits/stdc++. 阅读全文
posted @ 2024-09-17 19:31 PHarr 阅读(147) 评论(0) 推荐(0) 编辑
摘要: A. Make SYSU Great Again I 因为\(k \ge 2n\),所以可以顺序按照以阶梯形状摆放,这样可以保证每行每列两个,且\(\gcd\)都是 1,剩下的数字随便放就好了。 #include <bits/stdc++.h> using namespace std; using 阅读全文
posted @ 2024-09-16 22:45 PHarr 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 线性基 定义:给定数集\(s\),以异或运算张成的数集与\(S\)相同的极大线性无关集,称为原数集的一个线性基。 性质 : 原数集的任意一个数都能有线性基内部的一些数异或得到。 线性基内部任意数异或不为 0 线性基内数唯一,且保证性质一的情况下,数的个数最少。 线性基内每个数的最高有效位各不相同。 阅读全文
posted @ 2024-09-14 20:21 PHarr 阅读(3) 评论(0) 推荐(0) 编辑
摘要: A. 我是组题人 #include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; vector<int> a(n); for (auto &i: a) cin >> i; vector<int> p(n); io 阅读全文
posted @ 2024-09-14 15:01 PHarr 阅读(1) 评论(0) 推荐(0) 编辑
摘要: D - Journey to Un'Goro 记\(p_i\)表示前缀\(i\)中\(\mathrm r\)的个数。则题目要求的是\(p_r - p_{l-1}\)为奇数最多有多少对。显然应该越平均越好。 \(p_i\)总共有\(n+1\)个,则奇偶数的数量均不超过\(m = \left\lceil 阅读全文
posted @ 2024-09-11 22:22 PHarr 阅读(21) 评论(0) 推荐(0) 编辑
摘要: C. Challenge NPC 考虑构造一个二分图,左边是\(1,3,5,7\)右侧是\(2,4,6,8\)。最优解肯定是一边全 1,一边全 2。 如果\(1,2\)之间不连边,这\(2\)就会被染色为 1,因此只要让\(2,3\)连边,\(3\)会被染色为\(2\),然后\(1,4\)连边,\( 阅读全文
posted @ 2024-09-11 18:39 PHarr 阅读(11) 评论(0) 推荐(0) 编辑
摘要: A - ACM中的A题 #include<bits/stdc++.h> using namespace std; using i32 = int32_t; using i64 = long long; #define int i64 using vi = vector<int>; const int 阅读全文
posted @ 2024-09-09 20:00 PHarr 阅读(11) 评论(0) 推荐(0) 编辑
摘要: https://ac.nowcoder.com/acm/contest/34655/C 有 \(n\) 个箱子,第\(i\)个箱子最多放 \(s_i\)个石子,当前箱子里的石子数为 \(c_i\)。两个人轮流往箱子里放石子,而且每一次放的数量都有限制:不能超过当前箱子内石子数的平方。例如箱子里有 \ 阅读全文
posted @ 2024-09-05 21:58 PHarr 阅读(2) 评论(0) 推荐(0) 编辑