康复式训练
按理说暑假就应该开始的,一直拖到现在。期间高中巨佬已经区域赛rank4,而我还在跟着队友混铜牌。现在比赛也结束了,队也没了,要开始复健了啊。。。
准备顺着刷刷cf,hdu啥的,顺便学下英语
再就是接了一口大锅,可能每周会更个模板?(以前写的讲解都好水啊
ps.昨天看空间,高三楼已经没了。noi打完就成csp,高中毕业学校就被拆,就好像有什么东西追赶着,要把你的过去全删掉。就好像经历的一切都是假的
突然想到WC的时候唱的歌,命运如锁扣,路只剩我独自走......
(日常夜来非)
2019.11.8
复习了一下左偏树
2019.11.12
对每个格子有两种编号方式,要求互相转换
总是会觉得以前写的代码比较好,看来还是落下了很多,要更加努力啊.

#include <bits/stdc++.h> using namespace std; int n, r, c, i; char s[1000005]; void print(int x) { if(!x) return; print((x - 1) / 26); printf("%c", (x - 1) % 26 + 'A'); } int main() { cin >> n; while(n--) { scanf("%s", s); if(sscanf(s, "R%dC%d", &r, &c) == 2)//sscanf():从一个字符串中读进与指定格式相符的数据 { print(c); cout << r << endl; } else { r = c = i = 0; for(; s[i] >= 'A' && s[i] <= 'Z'; i++) c = c * 26 + s[i] - 'A' + 1; for(; s[i]; i++) r = r * 10 + s[i] - '0'; cout << "R" << r << "C" << c << endl; } } }
codeforces1C Ancient Berland Circus
给定正多边形三个顶点的坐标,求边数最少时的面积
先求出三个圆心角,2π/gcd即为最少边数
一开始直接求坐标,被精度卡到死,后来换成用余弦也很卡了一下才过。还是得先想好再打啊,浪费了蛮多时间的

#include <bits/stdc++.h> using namespace std; const double eps = 1e-4; const double pi = 3.141592653589793; int num; double n, ans_ang, r; double x[3], y[3], l[3], ang[3]; double len(double x1, double y1, double x2, double y2) { return sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2)); } double angle(double a, double b, double c) { return 2.0 * acos((a * a + b * b - c * c) / (2 * a * b)); } double s() { double p = (l[0] + l[1] + l[2]) / 2.0; return sqrt(p * (p - l[0]) * (p - l[1]) * (p - l[2])); } double fgcd(double a, double b) { if(b <= eps) return a; return fgcd(b, fmod(a, b));//double fmod(double a, double b)返回a/b的余 } int main() { for(int i = 0; i < 3; i++) cin >> x[i] >> y[i]; for(int i = 0; i < 3; i++) for(int j = i + 1; j < 3; j++) l[num++] = len(x[i], y[i], x[j], y[j]); ang[0] = angle(l[0], l[1], l[2]); ang[1] = angle(l[1], l[2], l[0]); ang[2] = angle(l[0], l[2], l[1]); r = l[0] * l[1] * l[2] / (4 * s()); ans_ang = fgcd(ang[0], ang[1]); ans_ang = fgcd(ans_ang, ang[2]); n = 2 * pi / ans_ang; printf("%.12lf", n * r * r * sin(ans_ang) / 2.0); return 0; }
2019.11.14
不知道为什么,各种PE各种WA,然后感觉也没改啥,就过了。。。烦
2019.11.16
打了一波武理的新生赛,感觉全程就像个憨憨,各种sb操作,最后喜获罚时第一
题解写一半oj崩了。。。不想写了
2019.11.19
https://www.cnblogs.com/XYZinc/p/11897028.html
2019.11.20
给出n次加减分,输出最先达到最大值的人
总是把问题想复杂,本来很简单一道题,就是非得打几遍才过,我怕是个废人了

#include <bits/stdc++.h> using namespace std; const int N = 1005; string name[N]; int score[N], mx; map<string, int> st, chk; int main() { int n; cin >> n; for(int i = 1; i <= n; i++) { cin >> name[i] >> score[i]; st[name[i]] += score[i]; } for(int i = 1; i <= n; i++) if(st[name[i]] > mx) mx = st[name[i]]; for(int i = 1; i <= n; i++) { chk[name[i]] += score[i]; if(st[name[i]] == mx && chk[name[i]] >= mx) { cout << name[i]; return 0; } } return 0; }