摘要: 原题链接:https://www.acwing.com/problem/content/4011/ 大模拟 需要注意的地方还是挺多的: 以后写这种大模拟的时候,尽量不要使用STL。 注意多维数组存储,维度调换对事件的影响,特别是需要用memset的时候。 注意模运算,模运算的整个过程中,参与模运算的 阅读全文
posted @ 2022-05-28 16:34 superPG 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 大模拟 + 多项式除法 原题链接: https://www.acwing.com/problem/content/4285/ 这道大模拟和以往的不太一样,模拟部分很简单,难点在于多项式除法部分。 对于下面的描述,如何看出要求的是多项式除法呢? 因为 xk、g(x)、d(x)均已知,要求q(x)和r( 阅读全文
posted @ 2022-05-27 12:05 superPG 阅读(115) 评论(0) 推荐(0) 编辑
摘要: DFS 不是选出三条直线再检测,而是在运行的过程中,如果遇到了没有被前面的情况,选取垂直或平行的直线。 #include <bits/stdc++.h> using namespace std; typedef pair<int, int> PII; int n; vector<PII> cows; 阅读全文
posted @ 2022-05-20 10:36 superPG 阅读(14) 评论(0) 推荐(0) 编辑
摘要: A 签到 https://www.acwing.com/problem/content/4422/ #include <bits/stdc++.h> using namespace std; int n; int p, q; int ans; int main() { scanf("%d", &n) 阅读全文
posted @ 2022-05-15 11:10 superPG 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 签到难度 双指针 贪心 如果是 nlogn 的双指针算法,可以采取从左到右也可以从右到左,但是,如果时 n^2 的暴力模拟,只能从左到右。 从右向左,采用双指针,i记录a数组需要向左移动的数字(i,j所指不相同时),i,j所指相同时,直接向下移动,同时,如果j指到了被i记录过的数字,也要直接跳过。 阅读全文
posted @ 2022-05-14 09:16 superPG 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 模拟 #include <bits/stdc++.h> using namespace std; const int N = 20; int a[N], b[N]; int t; bool check(int a[], int b[]) { int w = 0, l = 0; for (int i 阅读全文
posted @ 2022-05-13 08:54 superPG 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 思维题 差分数组 先得到 原始温度数组 和 需求温度数组的差值,即我们需要用差分处理的数组,假设为w。 那么问题是如何利用好,相同的那一段,减少这一段的操作数目。 进行差分之后,连续先等的一段就为0了,保证了算法的最优性。 而差分后的正负值,可以理解为对区间进行加减操作(差分的定义),可以保证算法的 阅读全文
posted @ 2022-05-12 09:48 superPG 阅读(22) 评论(0) 推荐(0) 编辑
摘要: POJ 1065 贪心、偏序集、Dilworth定理、最长下降子序列 说到偏序集,在离散里的定义是: 设R为非空集合A上的关系,如果R是自反的、反对称的和传递的,则称R为A上的偏序关系,简称偏序,记作≤。 偏序是在集合X上的二元关系≤(这只是个抽象符号,不是“小于或等于”),它满足自反性、反对称性和 阅读全文
posted @ 2022-05-12 09:25 superPG 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 思维 每两个名字之间以 小于等于 相连,如果出现前面的名字字典序大于后面的名字, 可以消除等于情况,即消除不确定性。 需要注意的是,用双重循环遍历的时候,确定第一个名字在位置i,枚举第二个名字位置j;只要从i到j之间有一个链接消除了不确定性,i和j之间的大小关系就会被确定下来。这就是代码中flag的 阅读全文
posted @ 2022-05-11 08:51 superPG 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 签到题 边界处理 #include <bits/stdc++.h> using namespace std; typedef pair<int, int> PII; const int N = 1e3 + 10; int n; int w[N][N]; int st[N][N]; vector<PI 阅读全文
posted @ 2022-05-10 15:37 superPG 阅读(21) 评论(0) 推荐(0) 编辑