摘要: F - Vacation Query 此题与4301 Can you answer on these queries III类似 只不过要维护0和1两个值 解法: 区间修改和查询,可以利用线段树 1.两区间合并的答案,要么lc(左子树)中,要么在rc(右子树)中,但是也有可能出现在(lc的右端点连续 阅读全文
posted @ 2023-10-01 17:06 不o凡 阅读(90) 评论(0) 推荐(1)
摘要: E - Product Development 一眼看上去,选与不选,很像01背包问题,很显然当k=1时就是01背包 那我们可以想到设置dp[i],表示目标为i时所要花费的最小代价,直接套用01背包模板 但是题目写道要满足多个k值,也就是多个背包问题,那该怎么办 但是我们可以看到,p<=5,小于10 阅读全文
posted @ 2023-10-01 10:37 不o凡 阅读(55) 评论(1) 推荐(1)
摘要: P1037 [NOIP2002 普及组] 产生数 解法1: 利用floyd寻找每位数字可变化的点 点击查看代码 #include<bits/stdc++.h> using namespace std; const int N = 1e5 + 10; string s; int d[20][20]; 阅读全文
posted @ 2023-09-30 18:57 不o凡 阅读(151) 评论(0) 推荐(0)
摘要: 原文链接:https://blog.csdn.net/qq_43227036/article/details/100336234 OK,前面已经讲了很多判断素数的方法,在判断一个数是否为素数时我们可以采用试除法,但如要求1-n的范围那么时间复杂度很高,所以有了线性的筛法求素数。 但如果为了判断一个大 阅读全文
posted @ 2023-09-30 14:40 不o凡 阅读(31) 评论(0) 推荐(0)
摘要: 推荐视频:518 筛法求莫比乌斯函数 前提知识:莫比乌斯函数 点击查看代码 #include<bits/stdc++.h> using namespace std; #define LL long long const int N = 1e8 + 10; int p[N], cnt; int mu[ 阅读全文
posted @ 2023-09-29 20:32 不o凡 阅读(18) 评论(0) 推荐(0)
摘要: 推荐视频:517 筛法求约数和 这个比较简单,若想来点挑战,请点开这个:P2424 约数和 点击查看代码 #include<bits/stdc++.h> using namespace std; #define LL long long const int N = 1e8 + 10; int p[N 阅读全文
posted @ 2023-09-29 20:24 不o凡 阅读(37) 评论(0) 推荐(0)
摘要: 推荐视频:516 筛法求约数个数 点击查看代码 #include<bits/stdc++.h> using namespace std; #define LL long long const int N = 1e8 + 10; int p[N], cnt; int d[N];//d[i]记录i的约数 阅读全文
posted @ 2023-09-29 19:54 不o凡 阅读(22) 评论(0) 推荐(1)
摘要: 筛法+试除 推荐视频:筛法求欧拉函数 点击查看代码 #include<bits/stdc++.h> using namespace std; #define LL long long const int N = 1e8 + 10; int p[N], cnt,phi[N]; bool vis[N]; 阅读全文
posted @ 2023-09-29 16:37 不o凡 阅读(12) 评论(0) 推荐(0)
摘要: 点击查看代码 #pragma GCC optimize(2) 阅读全文
posted @ 2023-09-29 15:56 不o凡 阅读(21) 评论(0) 推荐(0)
摘要: 点击查看代码 void write(int x) { if(x<0) putchar('-'),x=-x; if(x>9) write(x/10); putchar(x%10+'0'); return; } 阅读全文
posted @ 2023-09-29 15:55 不o凡 阅读(17) 评论(0) 推荐(0)