摘要:
欢迎来到我的博客 我是PHarr,常以PHarr这个ID在各大OJ闲逛 退役OI选手,现役ACM选手 毕业于焦作市解放区实验学校、焦作市外国语中学、焦作市第一中学、沁阳市第一中学 这个博客主要用来写写算法笔记,有时写点人生感悟 联系我 email : pharr.mx@outlook.com 荣誉墙 阅读全文
摘要:
A. 爱上字典 #include <bits/stdc++.h> using namespace std; using i64 = long long; using ui32 = unsigned int; using vi = vector<int>; int main() { ios::sync 阅读全文
摘要:
C. Giving Directions in Harbin 一个简单的模拟题,主要是处理好转向。 #include <bits/stdc++.h> #define ll long long using namespace std; vector<string> dir = {"N", "E", " 阅读全文
摘要:
A. Circuit #include <bits/stdc++.h> using namespace std; using i32 = int32_t; using i64 = long long; #define int i64 using vi = vector<int>; using pii 阅读全文
摘要:
A - Pairing #include <bits/stdc++.h> using namespace std; int main(){ map<int,int> cnt; for(int i = 1, x; i <= 4; i ++) { cin >> x; cnt[x] ++; } int r 阅读全文
摘要:
A. Arrow a Row 一个简单的构造题,构造的思路是先把又侧的连续>放满,再从左侧逐个开始放,如果是>就放一个长度为 5 的,如果是-,可以一次性直接把连续的都放了。 #include <bits/stdc++.h> using namespace std; using i32 = int3 阅读全文
摘要:
差分约束 我们记W表示\(1\),L表示\(-1\),D表示\(0\),然后记前\(i\)位的前缀和是\(dis[i]\)。则我们可以根据题面得到如下约束。 当前位是W,则有 \[\left\{\begin{matrix} dis[i] - dis[i-1] \le 1 \\ dis[i-1] - 阅读全文
摘要:
本质上是一个 Anti-Nim Game。考虑如何计算 SG 函数。 如果当前有堆\(x\)个石子,我取出任意个后,一定会把当前堆分为左右两堆,我们可以枚举左右两堆的大小\(l,r\) ,保证\(0\le l + r < x\),则有 \[SG(x) = \mathrm{mex} ( SG(l)\o 阅读全文
摘要:
A. Balloon Robot 首先我们可以把时间和坐标都映射为从0 开始的。 然后对于一个事件\((a,b)\),实际上和\((a-1,b-1)\)是等价的。因此我们可以把所有的事件都放到位置\(0\)上发生。 这样做有什么好处?发气球从每秒都可以发变成了,每\(m\)秒发一批。这样我们就可以枚 阅读全文
摘要:
https://codeforces.com/contest/797/problem/E 其实是个诈骗题,我们可以思考一下暴力有哪些解法。 对于一个询问直接向后暴力的查询 从后向前枚举\(n\),并预处理出每个\(k\)需要多少步。 我们可以按照\(k\) 分类,如果\(k< \sqrt n\)我们 阅读全文
摘要:
A - Candy Button #include <bits/stdc++.h> using namespace std; using i32 = int32_t; using i64 = long long; using vi = vector<int>; using pii = pair<in 阅读全文