随笔分类 -  技巧/结论

摘要:"E. Selling Souvenirs" 题意: n件物品,有重量和价值,重量只有三种1,2,3。问取不超过m重量的物品的价值总和最大是多少。(n define dd(x) cout P; typedef priority_queue BQ; typedef priority_queue,gre 阅读全文
posted @ 2019-01-27 23:12 __orange 阅读(229) 评论(0) 推荐(0)
摘要:题意: 一组数,求最大的长度不超过K的子段的数值和。 思路: 算法课作业题,按理说应该要很快切,结果甚至自以为是的写了个滑窗假算法(还过了...),被HD大佬(吊人)告知后才发现。于是想了个单调队列的做法,应该是正解.虽然一般不记水题,但羞耻max以至于想记下来. 处理前缀和sum,最大的子段和即 阅读全文
posted @ 2018-10-18 00:56 __orange 阅读(959) 评论(0) 推荐(0)
摘要:C++正则表达式 在此之前都没有了解过C++的正则,不过现在大多数赛事都支持C++11了,因此有必要学习一下,用于快速A签到题。 所在头文件 正则表达式语法 跟其他语言的正则语法基本一样,要注意的是转义需要两个 ,如匹配数字的 应该写成 ; regex使用语法 库里有三个函数供我们使用,下面逐一简单 阅读全文
posted @ 2018-10-08 13:22 __orange 阅读(588) 评论(0) 推荐(0)
摘要:对于一组数,对每一个进行素因子分解,常用的做法是O(n\ sqrt(N))的。但实际上还有一种O(N\ loglogN+n logN)的做法。埃氏筛处理出每个数的最小质因子,然后对每个数的分解就是logN级别的 阅读全文
posted @ 2018-09-23 16:54 __orange 阅读(2303) 评论(0) 推荐(0)
摘要:并不太想用这种技巧(但万一压线过了呢 阅读全文
posted @ 2018-08-19 11:04 __orange 阅读(129) 评论(0) 推荐(0)
摘要:做题时可能会遇到递归层次过深的问题,用G++的话可能会超时,但用C++有可能爆栈,可以用上述预处理命令来手动扩栈。 该命令仅适用于C++编译器 阅读全文
posted @ 2018-08-19 10:53 __orange 阅读(642) 评论(0) 推荐(1)
摘要:```C++ inline long long multi(long long x,long long y,long long mod) { long long tmp=(x y (long long)((long double)x/mod y+1.0e 8) mod); return tmp 阅读全文
posted @ 2018-08-10 10:50 __orange 阅读(696) 评论(0) 推荐(0)
摘要:位运算符 对于位运算完全不熟悉,因此开个小记来陆续记录一些遇到的常用位运算 :按位与,对应的二进制位均为1时返回1,否则返回0; :按位或,对应的二进制位有一个为1时返回1,否则返回0; :按位异或,对应的二进制位不同时返回1,否则返回0; :按位非,对每一位取反; :右移; 位运算的一些技巧 前者 阅读全文
posted @ 2018-03-30 02:15 __orange 阅读(212) 评论(0) 推荐(0)