- 博客(94)
- 收藏
- 关注
原创 2021 ICPC Asia EC网络预选赛I、II
1.题意:2.题解:3.ac代码:在这里插入代码片1.题意:2.题解:3.ac代码:在这里插入代码片1.题意:2.题解:3.ac代码:在这里插入代码片1.题意:2.题解:3.ac代码:在这里插入代码片1.题意:2.题解:3.ac代码:在这里插入代码片1.题意:2.题解:3.ac代码:在这里插入代码片1.题意:2.题解:3.ac代码:在这里插入代码片1.题意:2.题解:3.ac代码:在这里插入代码片1.题意:2.
2021-10-06 22:14:52
478
原创 2021-08-01 acwing算法基础课 动态规划
AcWing 2. 01背包问题1.题意:2.题解:3.ac代码:在这里插入代码片AcWing 3. 完全背包问题1.题意:2.题解:3.ac代码:在这里插入代码片AcWing 4. 多重背包问题1.题意:2.题解:3.ac代码:在这里插入代码片AcWing 5. 多重背包问题 II1.题意:2.题解:3.ac代码:在这里插入代码片AcWing 9. 分组背包问题1.题意:2.题解:3.ac代码:在这里插入代码片AcWing 898. 数字三角形
2021-08-03 19:58:02
126
原创 2021-06-09 线段树,莫队,树状数组练习
牛客题 - 统计颜色1.题意:2.题解:3.ac代码:#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N=1e5+10;ll a[N];struct Node{ ll l,r; ll sum,add;}tr[N<<2];void pushdown(ll u){ if(tr[u].add){ tr[u<<1].su
2021-06-10 21:27:24
78
原创 2021-05-25acwing分解质因数,快速幂
AcWing 197. 阶乘分解1.题意:2.题解:3.ac代码:在这里插入代码片AcWing 1289. 序列的第k个数1.题意:2.题解:3.ac代码:在这里插入代码片AcWing 1290. 越狱1.题意:2.题解:3.ac代码:在这里插入代码片...
2021-06-04 20:13:54
140
原创 2021-05-29 acwing筛质数
AcWing 1292. 哥德巴赫猜想1.题意:2.题解:3.ac代码:在这里插入代码片AcWing 1293. 夏洛克和他的女朋友1.题意:2.题解:3.ac代码:在这里插入代码片AcWing 196. 质数距离1.题意:2.题解:3.ac代码:在这里插入代码片...
2021-06-04 19:45:12
131
1
原创 2021-05-31 2021牛客寒假算法基础集训营1
I 限制不互素对的排列1.题意:2.题解:3.ac代码:#include<bits/stdc++.h>const int N=1e5+10;using namespace std;int a[N];int tot;int main(){ int n,k; cin>>n>>k; if(n<6&&k==n/2){ cout<<-1<<endl; retur
2021-06-02 22:36:51
182
原创 2021-05-12 acwing算法基础课 快速幂,扩展欧几里得,中国剩余定理,高斯消元
AcWing 875. 快速幂1.题意:2.题解:3.ac代码:#include<bits/stdc++.h>using namespace std;const int N=1e6+10;typedef long long ll;ll quick_pow(ll a,ll k,ll p){ ll res=1; while(k){ if(k&1) res=res*a%p; k>>=1; a=
2021-06-01 20:27:42
167
原创 2021-05-09 acwing算法基础课 求组合数
AcWing 885. 求组合数 I1.题意:2.题解:3.ac代码:在这里插入代码片AcWing 886. 求组合数 II1.题意:2.题解:3.ac代码:在这里插入代码片AcWing 887. 求组合数 III1.题意:2.题解:3.ac代码:在这里插入代码片1.题意:2.题解:3.ac代码:在这里插入代码片1.题意:2.题解:3.ac代码:在这里插入代码片1.题意:2.题解:3.ac代码:在这里插入代码片1.题意:2.题解:
2021-06-01 19:35:04
226
原创 2021-05-30acwing算法基础课 素数,约数,欧拉函数
AcWing 866. 试除法判定质数1.题意:2.题解:3.ac代码:#include<bits/stdc++.h>using namespace std;const int N=1e6+10;int a[N];bool st[N];int primes[N];int tot;bool is_prime(int n){ if(n<2) return 0; for(int i=2;i<=n/i;i++){ if(n%i==0) re
2021-05-30 03:02:16
133
原创 2021-05-26 莫队求区间出现正偶次数的个数,求区间满足差值要求的对数,分块求区间众数
#42. czy的后宫31.题意:2.题解:疯了,怎么都提交不了,是不是oj删题了???莫队轻松解决,分块写代码就有点复杂了3.ac代码:#include <bits/stdc++.h>#include <math.h>using namespace std;typedef long long ll;const int N = 1e6 + 10;int f[5002][5002];const int INF=0x3f3f3f3f;int a[N];in
2021-05-28 23:10:07
167
原创 2021-05-24异或线段树题1
在 [first, last) 区域内查找lower_bound(,x) 第一个>=x int a[5] = { 1,2,3,4,5 }; //从 a 数组中找到第一个不小于 3 的元素 int *p = lower_bound(a, a + 5, 3);*p=3upper bound(,x) 第一个>xint a[5] = { 1,2,3,4,5 }; //从 a 数组中找到第一个大于 3 的元素 int *p = uppe
2021-05-28 12:59:48
240
原创 2021-05-19 「分块」数列分块入门1 – 9
1.题意:2.题解:3.ac代码:在这里插入代码片1.题意:2.题解:3.ac代码:在这里插入代码片1.题意:2.题解:3.ac代码:在这里插入代码片
2021-05-26 17:22:08
122
原创 2021-05-23 统计数字,字典序,最多约数
1-1 统计数字问题1.题意:给定表示书的总页码的十进制证书n(1<=n<=109),计算书的全部页码中分别用到多少次数字0,1,2,…92.题解:参考3.代码:#include <bits/stdc++.h>#include <math.h>using namespace std;typedef long long ll;const int N = 50000 + 10;int work(int n,int a){//n代表页码数,a代表要统计
2021-05-24 21:55:07
82
原创 2021-05-18 acwing线段树,分块练习
243. 一个简单的整数问题21.题意:2.题解:简单个鬼鬼3.ac代码:#include<bits/stdc++.h>#include<math.h>#include<string>using namespace std;const int N=5e5+10;typedef long long ll;ll a[N];struct Node{ int l,r; ll sum,add;}tr[N<<2];void
2021-05-19 10:05:29
100
原创 2021-05-17 acwing线段树练习
1.题意:2.题解:3.ac代码:在这里插入代码片1.题意:2.题解:3.ac代码:在这里插入代码片1.题意:2.题解:3.ac代码:在这里插入代码片
2021-05-18 08:21:47
82
原创 2021-05-13 树状数组(补)
1.题意:2.题解:3.ac代码:在这里插入代码片1.题意:2.题解:3.ac代码:在这里插入代码片1.题意:2.题解:3.ac代码:在这里插入代码片
2021-05-15 16:11:28
80
原创 2021-05-11正边权单源最短路+最小生成树
849. Dijkstra求最短路 I1.题意:2.题解:稠密图3.ac代码:#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N=510;const int INF=0x3f3f3f3f;int g[N][N],dist[N];int st[N];int n,m;int dijistra(){ dist[1]=0; for(int i=0;
2021-05-11 21:09:15
83
原创 2021-05-10 dfs,bfs在树的应用,拓扑
AcWing 848. 有向图的拓扑序列1.题意:2.题解:3.ac代码:#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N=1e5+10;int n,m;int h[N],e[N],ne[N],idx;int q[N];int d[N];//度int hh=0,tt=-1;void add(int a,int b){ e[idx]=b;ne[idx]=h[a];
2021-05-10 21:32:33
83
原创 2021-05-07 模拟栈与队列(补)
AcWing 829. 模拟队列1.题意:2.题解:3.ac代码:#include<bits/stdc++.h>#include<string>using namespace std;typedef long long ll;const int N=1e+5;int q[N],idx;int hh,tt;void push(int x){ q[tt++]=x;}int pop(){ return q[hh++];}int query(){
2021-05-10 20:02:39
59
原创 2021-05-08 Tire树练习
P2580 于是他错误的点名开始了1.题意:2.题解:这题不难,但是我不懂为什么要开到1e6,之前一直re3.ac代码:#include<bits/stdc++.h>#include<string>using namespace std;typedef long long ll;const int N=1e4+10,M=1e6+10;int son[M][26];int cnt[M];int idx;int n,m;void insert(string
2021-05-08 22:19:22
50
原创 2021-05-04 双链表,哈夫曼树(补)
1.题意:2.题解:3.ac代码:在这里插入代码片1.题意:2.题解:3.ac代码:在这里插入代码片1.题意:2.题解:3.ac代码:在这里插入代码片
2021-05-06 00:06:21
88
原创 2021-05-05 哈希
AcWing 840. 模拟散列表1.题意:2.题解:3.ac代码:在这里插入代码片AcWing 841. 字符串哈希1.题意:2.题解:3.ac代码:在这里插入代码片AcWing 838. 堆排序1.题意:2.题解:3.ac代码:在这里插入代码片...
2021-05-05 12:04:00
43
原创 2021-05-03 KMP,Trie
AcWing 831. KMP字符串1.题意:2.题解:3.ac代码:#include<stdio.h>#include<bits/stdc++.h>#include<string.h>using namespace std;const int N=100010,M=1000100;int n,m;char p[N],s[M];int ne[N];int main(){ cin>>n>>p+1>>m>&g
2021-05-03 23:15:58
51
原创 2021-05-02博弈
AcWing 891. Nim游戏1.题意:2.题解:a[1]a[2]a[3]…a[n]=0先手必败a[1]a[2]a[3]…a[n]!=0先手必胜3.ac代码:#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N=1e5+10;int n;ll a[N];int main(){ cin>>n; ll res=0; for(int i=
2021-05-02 17:25:15
66
原创 2021-04-29 NENU个人排位赛补题
C - Add on a Tree1.题意:2.题解:发现还是没有领会到题目的意思,(当然领会到也不一定做出来)可以选择任意两个叶子节点,给这两个叶子节点上的路径+任意值,问能不能让给定树的边呈现任意值可以发现如果有节点度为2,比如1,2,3,那个例子,叶子节点是1,3,不能使1,2和2,3边值不一样3.ac代码:#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N=1e5+
2021-04-29 22:04:28
79
原创 2021-04-27 并查集 acwing 836,837,240
AcWing 836. 合并集合1.题意:2.题解:3.ac代码:#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N=1e5+10;int n,m;char c;int a,b;int father[N];void init(int n){ for(int i=1;i<=n;i++){ father[i]=i; }}int find(int x){ if
2021-04-27 22:14:56
74
原创 2021-04-26 dfs,bfs acwing843,844,845
843. n-皇后问题1.题意:2.题解:3.ac代码:#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N=20;int n;char a[N][N];int vis[N];int hang[N];int t=0;int dg[N],udg[N];void dfs(int u){ if(u>n){ for(int i=1;i<=n;i++){ f
2021-04-26 22:11:05
91
原创 2021-04-21 区间合并,dfs,双指针算法 acwing 803,842,799
803 区间合并1.题意:2.题解:3.ac代码:#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N=1e5+10;vector<pair<int,int>> a;vector<pair<int,int>> res;int n;int merge(){ int l=-2e9,r=-2e9; for(auto it
2021-04-26 19:19:49
80
原创 2021-04-24 归并,二分,离散化 acwing 788,789,802
788 逆序对的个数1.题意:2.题解:用归并求,就很妙T(n) = 2T(n/2)+O(n) = O(nlogn)3.ac代码:#include<bits/stdc++.h>#include<map>using namespace std;typedef long long ll;const int N=1e6+10;ll a[N];ll tmp[N];ll merge_sort(int l,int r){ if(l>=r)
2021-04-25 21:54:13
68
原创 2021-04-25 acwing算法基础课 前缀和与差分 795,796,797,798
795 前缀和1.题意:2.题解:3.ac代码:#include<bits/stdc++.h>using namespace std;int n,m,l,r;const int N=1e5+10;typedef long long ll;int a[N],d[N];int main(){ cin>>n>>m; for(int i=1;i<=n;i++){ cin>>a[i]; d[i]=
2021-04-25 19:48:52
168
原创 2021-04-23 算法作业 最大子矩阵和 最大m子段和
二叉树的深度1.题意:2.题解:我也没想到这题能这么水。。换个3.ac代码:class Solution {public: int treeDepth(TreeNode* root) { if(!root) return 0; return max(treeDepth(root->left),treeDepth(root->right))+1; }};1.题意:2.题解:3.ac代码:在这里插入代码片
2021-04-25 19:10:45
45
原创 2021-04-20 acwing每日一题 补
数字的全排列1.题意:2.题解:又做到这个了3.ac代码:#include<bits/stdc++.h>using namespace std;const int N=1e6+10;int n;int a[N];int vis[N];void dfs(int u){ if(u>n){ for(int i=1;i<=n;i++){ cout<<a[i]<<" "; }
2021-04-20 13:36:11
75
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人