Loading

摘要: 10018. 「一本通 1.3 例 1」数的划分 mind 因为是要求不相同,可以发现只需求个升序的排列就行了(废了好大劲) 神奇剪枝: for(int i = last; sum + i*(k - now) <= n; i++) 枚举下一位数的时候确定其边界,升序,所以至少比前一个大,还要维护后面 阅读全文
posted @ 2020-12-26 22:24 Dita 阅读(113) 评论(0) 推荐(0) 编辑
摘要: #10000. 「一本通 1.1 例 1」活动安排 思想 贪心 /* work by:Ariel */ #include <iostream> #include <cstdio> #include <algorithm> using namespace std; const int M = 1010 阅读全文
posted @ 2020-12-20 22:17 Dita 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 题目 某工厂收到了 n 个产品的订单,这 n 个产品分别在 A、B 两个车间加工,并且必须先在 A 车间加工后才可以到 B 车间加工。 某个产品 i 在 A、B 两车间加工的时间分别为 Ai,Bi 怎样安排这 n 个产品的加工顺序,才能使总的加工时间最短。 这里所说的加工时间是指:从开始加工第一个产 阅读全文
posted @ 2020-12-19 10:43 Dita 阅读(272) 评论(0) 推荐(0) 编辑
摘要: problem: 计算 a^b的值 啊哈哈,这不有手就行么,简单入门红题,跑个循环不就出来了嘛——土蛋 可数据毒瘤小k,给出了下面一个数据 \(a = 2^{31}\) , b = \(2^{31}\) 土蛋疯了,于是去加工修炼,终于练就快速幂本领,击败了了毒瘤小k 快速幂 思路: 举个例子: \( 阅读全文
posted @ 2020-12-13 17:13 Dita 阅读(78) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2020-12-13 15:13 Dita 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 主要记一下过程 (下面均来自 Loceaner) 首先需要这几样东西 一定正确的暴力程序(baoli.cpp) 等待验证的“正解”(std.cpp) 生成数据的程序(rand.cpp) 对拍,检查的程序(checker.bat) 然后我们运行baoli.cpp,std.cpp,得到两个exe文件,再 阅读全文
posted @ 2020-12-13 07:36 Dita 阅读(78) 评论(0) 推荐(0) 编辑
摘要: mind: 分块 离散化 通过合理地对询问排序,然后以较优的顺序暴力回答每个询问(两个指针左右扩张或缩小范围) 借题理解 Luogu P3901 数列找不同 莫队发展里程 1.首先这个题很明显可以暴力跑,然后开个桶记录一下(慢到家) 2.珂以在区间$[1,5]$的基础上,去掉位置 \(1\)(即将左 阅读全文
posted @ 2020-12-12 22:20 Dita 阅读(81) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2020-12-09 20:02 Dita 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 入土 初识c++的素数筛举,n2暴力,枚举每一个数,如果这个数的约数只有两个,它就为质数 入门 n2时,只判断到根号就刹车 经典 埃式筛法 O(nloglogn) 基本思想:从2开始,将每个质数的倍数都标记成合数,以达到筛选素数的目的 node int vis[maxn]; void Prime() 阅读全文
posted @ 2020-12-06 21:21 Dita 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 题目 直通车 很显然这是个树刨的板子,树上链查询和子树查询 注意: 1.这个点的树根为 0 而不是 1 所以注意读图时点标号 +1 就解决了 2.注意数据范围$2^{32}$ 然后板子就能过了 node #include <iostream> #include <cstdio> #define N 阅读全文
posted @ 2020-12-02 21:08 Dita 阅读(63) 评论(0) 推荐(0) 编辑