01 2024 档案
发表于 2024-01-31 16:00阅读次数:26评论次数:0
摘要:基本情况 A、B秒了,C二进制拆位处理短板,卡了很久,D没想出来,甚至二分都没考虑。 C. XOR-distance Problem - C - Codeforces 这题算是给我上了一课, 二进制拆位处理真该好好学学了。 思路 思路很好想,从高位往低位处理: 先找到最高的不同的位 如果是上 \(1
阅读全文 »
发表于 2024-01-28 16:42阅读次数:8评论次数:0
摘要:似乎比较useless,暂时就浅尝辄止 概述 找到答案的单调性,把原来多重循环嵌套 的枚举优化成双指针维护的 枚举。 //暴力 for (int i = 0; i < n; i++) for (int j = 0; j < n; j++) { todo; }
阅读全文 »
发表于 2024-01-28 12:04阅读次数:111评论次数:0
摘要:基本情况 A忘记大小写敏感卡了20分钟,BC秒了,E用树状数组草过去了,D错了25个点,似乎是交界没有判断好。 B - Frequency B - Frequency (atcoder.jp) 这题还可以更优雅点。 int main() { string s; cin >> s; map<char,
阅读全文 »
发表于 2024-01-25 09:12阅读次数:27评论次数:0
摘要:Problem - 1819A - Codeforces 快速计算mex int calcMex(vector<int> v) { sort(v.begin(), v.end()); v.erase(unique(v.begin(), v.end()), v.end()) int n = int(v
阅读全文 »
发表于 2024-01-22 16:39阅读次数:11评论次数:0
摘要:Problem - 1875C - Codeforces 本题判断无解的时候要判断该数是否为 2 的 k 次幂,我的做法是预处理出 2 的次幂数表。 看题解发现可以用 lowbit 操作。 lowbit操作 int lowbit(int x) {return x & (-x);} 根据补码原理,该操
阅读全文 »
发表于 2024-01-22 15:51阅读次数:58评论次数:0
摘要:Problem - 1878E - Codeforces 这题我想到了个大概,按位与的话结果肯定是递减的,而且要从二进制每一位下手,但是思路只停留在暴力对整个数操作。 当然,利用这个性质,肯定要二分。 拆位思想 比如要计算 1110001 1101110 0100010 我们知道最后结果肯定是留下都
阅读全文 »
发表于 2024-01-21 21:39阅读次数:28评论次数:0
摘要:https://codeforces.com/problemset/problem/1901/C 我发现对于向下取整向上取整的题目(不特指除二),没有一些常见的思路积累。 Description 给定一个长度为 的序列 。每次操作你需要选择一个整数 并将
阅读全文 »
发表于 2024-01-21 19:44阅读次数:45评论次数:0
摘要:基本情况 ABC 秒了,D 数组在空间复杂度上面第一次疯狂吃亏,吃了两次罚时过。 赛后看官方题解,发现C做法薄纱我。 C - Lining Up 2 https://atcoder.jp/contests/abc337/tasks/abc337_c 这题一眼链表,我用双向链表实现,代码石山。 官方题
阅读全文 »
发表于 2024-01-21 19:08阅读次数:14评论次数:0
摘要:https://www.luogu.com.cn/problem/CF1904C 分讨,然后 的时候肯定要写暴力,但是我的暴力很不优雅。 石山 void solve() { int n, k; cin >> n >> k; vector<ll> a(n + 1); for (in
阅读全文 »
发表于 2024-01-20 15:18阅读次数:10评论次数:0
摘要:https://www.luogu.com.cn/problem/CF1729C 思路相对好想,无非是把大小在头尾之间所有元素都走一遍。 但是实现上很有说法。 我的实现 就是把下标和值存到数组,然后按值排序。 找到下标为首、尾的元素排序后的坐标,然后做差。 但这里涉及非常多细节问题 做差得出的数字量
阅读全文 »
发表于 2024-01-20 10:58阅读次数:40评论次数:0
摘要:基本情况 A犯病卡半小时。 主要就是太着急,题目没有彻底分析清楚就开始想一些错误做法。 C最优想法出来的慢。 E比较好想。 C. Closest Cities Problem - C - Codeforces 就,显然是能走最近城市就走,不行就不走。 一开始弄了一个自作聪明的预处理,但实际上每次查询
阅读全文 »
发表于 2024-01-20 10:34阅读次数:12评论次数:0
摘要:概述 栈中元素满足单调性的线性数据结构,单调栈一般维护的是一个数前/后第一个大于/小于他的数。 单调栈解决的主要问题是什么呢? 就跟单调队列差不多。单调队列主要处理的是一个区间内的最大/小值,而单调栈处理的是寻找以某个值为最小/大值的最大区间。相比较,实际上单调栈用的虽然少一些,但是比单调队列更
阅读全文 »
发表于 2024-01-16 13:47阅读次数:57评论次数:0
摘要:基本情况 A、C秒的很快。B、D都错了一发才过。E博弈论属于是短板。 E. Eat the Chip Problem - E - Codeforces 首先考虑谁可能赢。 因为 只能向下, 只能向上,而 先手。 显然两者行差为奇数时 \(Ali
阅读全文 »
发表于 2024-01-14 01:36阅读次数:93评论次数:0
摘要:基本情况 A、B秒了,C属于展现短板了。 C. Partitioning the Array 范围不大,可以暴力。 难点就在于分组之后为了找到 对于每组相同位置元素的处理。 这题很明显是同余问题,但我对同余的了解也几乎就是知道同余。 找到几个数同余,可以用一个巧妙的方法。 假
阅读全文 »
发表于 2024-01-07 13:05阅读次数:31评论次数:0
摘要:以前用C做了一个加密文件的小工具,很有成就感。 那么JAVA要怎么做呢。 有关 FileInputStream InputStreamReader FileReader 连接点进去,着重理解各自的子类父类、基本原理 下文默认已了解。 字节与字符 要加密肯定是直接操作字节了。 但我们先看
阅读全文 »
发表于 2024-01-07 11:42阅读次数:77评论次数:0
摘要:基本情况 ABD秒了,C卡了一会,空间换时间然后爆内存,最后交了个100多行的逆天模拟终于+4过。 赛后发现其实是手写了双端队列。 C - Loong Tracking C - Loong Tracking 思路很明显,空间换时间,把每个状态用数组全记录下来。 但是纯这样写数组会开的巨大,所以得让后
阅读全文 »
发表于 2024-01-07 11:41阅读次数:26评论次数:0
摘要:基本情况 AB秒了,C卡了一个半小时,+7出来了。 C. Grouping Increases Problem - C - Codeforces 动规思路 最初的想法是二分加动规求lis 然后状态记录后再记录剩下的那个序列的贡献。 void close_sync() { std::ios::sync
阅读全文 »
发表于 2024-01-06 07:21阅读次数:12评论次数:0
摘要:引子 早上想试试java写点题,写重载排序比较接口的时候突然报了一个错误。 No enclosing instance of type demo is accessible. Must qualify the allocation with an enclosing instance of type
阅读全文 »
发表于 2024-01-05 20:38阅读次数:5评论次数:0
摘要:The Lakes 本质上是个染色问题,太久没写搜索,出现了错误。 最初做法 int main() { for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) { if (vis[i][j] == false && a[i][j] !=
阅读全文 »
发表于 2024-01-02 22:11阅读次数:28评论次数:4
摘要:为什么在C++避之莫及的new在java中却趋之若鹜,为什么JAVA的类不用写析构函数 垃圾回收机制的意义 JVM中的垃圾回收机制(GC)是帮助程序员自动释放内存的。任何程序的运行都会在内存上进行,内存是有大小的,当一个程序只使用而不释放内存的话,致使内存逐渐占用完,导致程序崩溃,这样一来就容易出现
阅读全文 »
发表于 2024-01-02 21:01阅读次数:930评论次数:0
摘要:简述 map是用来存放<key, value>键值对的数据结构,可以很方便快速的根据key查到相应的value。假如存储学生和其成绩(假定不存在重名,当然可以对重名加以区分),我们用map来进行存储就是个不错的选择。 我们这样定义,map<string, int>,其中学生姓名用string类型,作
阅读全文 »