Atcoder ABC402游记
Atcoder ABC399游记(A~D) 66 你们D都用余数性质 只有我画图死推两个端点十八 A.CBC 题目描述 给你一个字符串,把它的大写字母维持原来的顺序输出。 思路 水 代码 12345678910111213#include<bits/stdc++.h>using namespace std;int main(){ string s; cin >> s; for (int i = 0; i < s.length(); i++) { if (isupper(s[i])) { cout << s[i]; } } return 0;} B.Ranking with Ties 题目描述 给你QQQ次操作,每次操作分两种: 1 x 将编号为xxx的人插入到队尾 2 输出队首并弹出 思路 水 代码 123456789101112131415161718192021#include<bits/stdc++.h>using namespace std;int...
第一次JC别人的经历
我错了哥 已经退登了 首先看图 没错,ta信了,我就拿到了他的__cilent_id,然后跑到火狐(你想知道是多少吗,我想告诉你也没用,人家改密码了) 用f12打开开发者模式之后,点击储存 把该填的填进去,然后刷新页面 JC成功了!!!狂刷IAKIOI 然后我就告诉他并退出登录了 这种事情适可而止( 我错了哥我错了哥我错了哥我错了哥我错了哥我错了哥我错了哥我错了哥我错了哥我错了哥我错了哥我错了哥我错了哥我错了哥我错了哥我错了哥我错了哥我错了哥我错了哥我错了哥我错了哥
RMQ的三种奇妙方法
这是2025年3月29号的截图 痛苦的一天 前言 用于记录不幸挂掉的某学校比赛的文章。。。 RMQ是什么 Range Max/Min Query,中文就是区间最大/最小值查询,简称RMQ,这篇文章主要探讨RMQ的3种解决方法。 题面 给你一个长度为NNN的正整数数组A=(A1,A2,...AN)A=(A_1,A_2,...A_N)A=(A1,A2,...AN)。 然后给你MMM个查询,每次查询给你左端点lll和右端点rrr,回答AAA的第lll个元素到第rrr个元素之间的这个区间中的元素的最大值。 1≤N≤1000001 \leq N \leq 1000001≤N≤100000 解题思路 首先你应该想到的 我都把这个看似很简单的题单独拎出来了,你如果还想着BF的话可以选择去往生堂把自己埋了,啊没错这个问题有几种奇妙的方法可以让程序跑的快多了!!! ST表 思路 Sparse...
Atcoder ABC399游记
Atcoder ABC399游记(A~D) 今天d题什么情况啊 有点意思哈 极限通过 。。。今天掉了7分 这个d题在还剩20秒时居然过了 我对拍瞅了半天test代码发现没问题 结果最后上了个厕所就突发奇想看了bf程序,结果: 1234if (abs(pos[i].first - pos[j].first) == 1 && abs(pos[i].second - pos[j].second) == 1 && pos[i].second - pos[i].first > 1 && pos[j].second - pos[j].first > 1) { cout << i << ' ' << j << '\n'; ans++;} 1234if (abs(pos[i].first - pos[j].first) == 1 && abs(pos[i].second - pos[j].second) == 1...
Atcoder ABC397游记
Atcoder ABC397游记(A~D) A.Thermometer 题目描述 诗音测量到她的体温是XXX摄氏度。 体温由以下几条规则进行分类: 高于38.038.038.0摄氏度:高烧 高于或等于37.537.537.5摄氏度,并且低于38.038.038.0摄氏度:低烧 低于37.537.537.5摄氏度:健康 所以诗音的体温应该是哪个等级? 思路 水 代码 123456789101112131415#include<bits/stdc++.h>using namespace std;int main(){ double n; cin >> n; if (n >= 38) { cout << 1; } else if (n >= 37.5) { cout << 2; } else { cout << 3; } return 0;} B.Ticket Gate Log ...
Atcoder ABC396游记
Atcoder ABC396游记(A~E) A.Triple Four 题目描述 给你一个长度为NNN的数组AAA,问你有没有333个连续且相同的元素? 思路 感觉不用讲 代码 12345678910111213141516171819#include<bits/stdc++.h>using namespace std;int main(){ int n; cin >> n; vector<int> a(n); for (int i = 0; i < n; i++) { cin >> a[i]; } for (int i = 0; i < n - 2; i++) { if (a[i] == a[i + 1] && a[i + 1] == a[i + 2]) { cout << "Yes"; return 0; } } cout <<...
别样的贴贴车大战
...
树状数组学习笔记
树状数组是什么 本质上就是一个长得像树的数组,长得很像一个二叉树,like下面的图: 我们拿它干嘛呢?我们可以拿它来单点修改,区间查询。 赛场上可能同一个问题树状数组要写10min,但是线段树要30min,你说你写那个? 怎么实现树状数组 好奇树状数组是怎么被人想出来的 lowbit 树状数组是通过这个叫lowbit的函数实现的,它主要用来求一个二进制数最低的一位111以及它后面的一堆000组成的数。 说具体点,比如说114114114这个数,它就等于(1110010)2(1110010)_2(1110010)2,那求lowbit后就会变成(10)2(10)_2(10)2,也就是2 那想要求出lowbit函数的值,我们只需要让它返回xxx andandand (−x)(-x)(−x)就可以了 结构 还是那张图片,我们把数组从前往后编号,你会发现深度相同的位置二进制下末尾0的个数是相同的! ...
Atcoder ABC395游记
写在游记之前 啊哈!福建真好玩!今天拔灯拔得真开心,欸我的手臂怎么弯不下来了 从墩板到广惠宫全程没松手,直接彻底疯狂!!! 耳鸣手残buff叠加!!! Atcoder ABC395游记(A~F) A.Strictly Increasing? 题目描述 给你个序列,判断是不是单调递增。 思路 水 代码 12345678910111213141516171819#include<bits/stdc++.h>using namespace std;int main(){ int n; cin >> n; vector<int> a(n); for (int i = 0; i < n; i++) { cin >> a[i]; } for (int i = 1; i < n; i++) { if (a[i] <= a[i - 1]) { cout << "No"; return 0; ...
Atcoder ABC394游记
fuck Atcoder ABC394游记 A.22222 题目描述 给你一个字符串,把所有非2字符删掉并输出。 思路 感觉不用讲 代码 123456789101112131415#include<bits/stdc++.h>using namespace std;int main(){ string s; int cnt = 0; cin >> s; for (int i = 0; i < s.length(); i++) { cnt += (s[i] == '2'); } while (cnt--) { cout << 2; } return 0;} B.cat 题目描述 给你NNN个字符串,把他们按照长度从小到大排序,然后从前到后拼起来,输出。 思路 感觉不用讲 代码 12345678910111213141516171819202122#include<bits/stdc++.h>using namespace std;bool cmp(const string &a1, const...