随笔分类 - 小技巧/刷题心得
摘要:RP测试器 代码: #include<bits/stdc++.h> using namespace std; int main() { srand(time(NULL)); printf("The RP Test Program for NOIP2020\n"); printf("Please wr
阅读全文
摘要:脱产总结(3)—2020.11 11.1 模拟赛,手切两道。发现自己不怎么适应洛谷的赛制。捆绑和IOI。所以每次经常会过了几个点但是最后还是零分。但是如果是按测试点的话应该还能过不少。 洛谷的模拟赛给我的感觉就是,现在自己的水准切个绿题应该是很稳定的,蓝题的话稍微吃发挥。一般想一想也都可以切。紫题费
阅读全文
摘要:脱产总结(2)—2020.10 10.8 水题 10.9 对拍 树剖 10.10 浮点数相等的判断方式。 10.12 刷了期望DP的题。感觉联赛虽然不会考,但是多了解一些总归是没有错的。 期望DP设置状态的几种方式 期望的性质 10.13 刷了区间DP的题。作为少数有板子的DP,要再复习一下: 区间
阅读全文
摘要:脱产总结(1)—2020.9 从9月14日开始脱产。这是个特殊的日子,至于为什么特殊,懂得自然懂,不懂的我也不想告诉。一路坎坷,是龙是虫,都在此一举吧。 9.2 Accumulation Degree 换根DP。 换根还是很常用的,树形DP的题着重看一看。 9.4 浅谈了一发换根,因为那时候还没脱产
阅读全文
摘要:浅谈子段、子串、子序列的区别 子段和子串都是连续的。子序列是可断开的。 子段是数字序列,子串是字符串的定义。 就是这个区别。
阅读全文
摘要:耻辱柱 本篇随笔记录博主的SB错误合集。 博大家一笑 1、 注意有些常量不要在代码运行过程中更改掉,这样的话,你以为正确的量,其实不是原来的量。 比如: void divide(int x) { for(int i=2;i<=sqrt(x);i++) { // printf("%d %d\n",x,
阅读全文
摘要:刷题心得—整数的唯一分解方式 首先质因子分解是没有问题了。 注意质因子分解是幂的加法。 然后一个整数还可以被唯一分解成若干个斐波那契数列的项目和。 为什么呢?因为斐波那契数列有1. 任何一个整数都可以被唯一分解成若干个含1的规律数列的项目和。 我怎么预感可能会考这个东西呢? 反正就是介绍一下。 注意
阅读全文
摘要:小技巧—拆位 对于一些同时维护二进制运算和十进制宏观求和的题目。可以考虑拆位。 拆位就是把一个数按位拆开,分别维护,最后需要统计宏观信息的时候再用位运算合到一起求出正确值。 比如例题: CF242E
阅读全文
摘要:小技巧—一个数前面最靠近这个数的相同数 有些题目会让我们记录一个数前面最靠近这个数的、与这个数相同的数的位置。 对于这种记录,我们采用迭代更新的方式。 用两个数组,一个是pre数组表示答案,一个是head数组用于迭代。 其代码也很简单: { pre[i]=head[a[i]]; head[a[i]]
阅读全文
摘要:浅谈如何应对考场上可能出现的烦人小学生 为什么说小学生烦人呢? 因为小学生会不停地拍打你,并告诉你: 哥哥哥哥,不能用signed main,必须要用int main。 哥哥哥哥,你怎么不写return 0啊。 哥哥哥哥,你看我的屏幕它一直在闪。 哥哥哥哥,第一题是大模拟对吧? 哥哥哥哥,我又拿下一
阅读全文
摘要:刷题心得—连续位运算题目的小技巧 有些题目。比如CSP-S2020的T2动物园,会有一堆连续的位运算。 或者多次位运算。随你怎么理解。 这些题目首要考虑的是: 按位独立。 是否满足按位独立的性质。如果满足了,这道题的突破口也就有了,会由此延伸出很多其他的性质。 很有可能就切了。 这个一定要好好想想。
阅读全文
摘要:刷题心得—MST和SPT 本篇随笔浅谈一下MST和SPT的区别。 其实很简单。 MST是最小生成树,它是一张图的生成树,其中边权和最小的一种生成树。 而SPT是最短路径树。它是一张图的生成树,其中保证根为源点,并且源点到所有节点的路径都是源点到所有节点的最短路。 其实是不一样的。 SPT不一定是MS
阅读全文
摘要:小技巧—关于单调性的题目 先想想一些单调数据结构。 看看能不能行。 不要拘泥于单调栈和单调队列的维护对象。 太局限了。
阅读全文
摘要:小技巧—卡格式 有很多毒瘤题卡格式。 正常是只比数,不比多余空格、制表符、回车。 但是有的题就是比。 咋整呢?比如,输出一个序列,最后有回车。其他都是空格,最后没空格。 就这样: printf("%lld%c",fa[i],i==n?'\n':' '); 岂不美哉?
阅读全文
摘要:小技巧—强制类型转换 谨以此篇,纪念CSP-S2020 T2T3挂了60pts的自己。 爆数据类型这件事,凡是学过OI的应该都有所耳闻。 那么什么时候会爆呢?总结一下。 首先,输出输入如果超过这个数据类型的最大容纳量,那就爆了。这是最显然的。可以通过给定的数据范围判断。 然后是隐晦一点的,中间过程爆
阅读全文
摘要:Linux下批量更改文件名 我的应用是: 在Windows下出完数据,但是要换到NOILinux下用它的Arbiter评测。 文件名不匹配,很烦人。 不想一个一个改。所以用了这个。 在文件名前增加一个字符串: rename 's/^/fsw/' * 更改文件后缀名: rename 's/\.out/
阅读全文
摘要:小技巧—快速生成测试数据 生成测试数据的时候,可以采用如下模板: char in[100][100]={"1.in","2.in","3.in","4.in","5.in","6.in","7.in","8.in","9.in","10.in","11.in","12.in","13.in","14
阅读全文
摘要:小技巧—Windows下对拍 之前展示了一波Linux下对拍,现在换Windows下的。 模板: #include<bits/stdc++.h> using namespace std; int main() { for(int i=1;i<=20;i++) { system("data.exe")
阅读全文
摘要:小技巧—对拍 对拍就是对拍啦,没什么好说的。 直接放模板吧。 网上大多数的对拍模板都是用bat写的。什么鬼看不懂我菜。 所以拿CPP写一发。 就当练练 #include<bits/stdc++.h> using namespace std; int main() { for(int i=1;i<=2
阅读全文