自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 Codeforces Round #785 (Div. 2)

cf

2022-05-01 11:32:33 143

原创 AtCoder Beginner Contest 235

ARotateabc +bca +cab#include <bits/stdc++.h>using i64 = long long;int main() { std::ios::sync_with_stdio(false); std::cin.tie(nullptr); int x; std::cin >> x; std::cout << (x % 10 + x / 10 % 10 + x...

2022-01-16 17:12:29 613

原创 C - Y2K Accounting Bug

该公司赢亏是一个定数,要么一个月赢利s,要么一月亏d。该公司每五个月有一个赢亏报表,而且每次报表赢利情况都为亏。在一年中这样的报表总共有8次(1到5,2到6,…,8到12),现在要编一个程序确定当赢s和亏d给出,并满足每张报表为亏的情况下,全年公司最高可赢利多少,若存在,则输出多多额,若不存在,输出"Deficit"。分析:分5中情况讨论:(5-i)*s-i*d<0; i 从枚举到4,i=1: SSSSDSSSSDSS res=10*s-2*d;i=2: S...

2021-07-27 21:25:29 183

原创 求取约数的个数

#include<iostream>#include<algorithm>#include<unordered_map>using namespace std;typedef long long LL;const int mod=1e9+7;int main(){ int n; cin>>n; unordered_map<int ,int > primes; while(n--) { ...

2021-07-22 10:00:50 95

原创 求取约数之和

#include<iostream>#include<algorithm>#include<unordered_map>using namespace std;typedef long long LL;const int mod=1e9+7;int main(){ int n; cin>>n; unordered_map<int ,int > primes; while(n--) { ...

2021-07-22 09:56:43 73

原创 求取一个数的约数

#include<iostream>#include<vector>#include<algorithm>using namespace std;vector<int > get_divide(int n){ vector<int >res; for(int i=1;i<=n;i++) { if(n%i==0) { res.push_back(i);...

2021-07-21 22:07:34 103

原创 某一区间内质数个数

#include<iostream>using namespace std;const int N=100010;int prime[N],cnt;bool st[N];int get_primes(int n){ for(int i=2;i<=n;i++) { if(!st[i]) { prime[cnt++]=i; for(int j=i+i;j<=n;j+=i) ...

2021-07-21 20:17:06 134

原创 分解质因数

#include<iostream>#include<algorithm>using namespace std;void divide(int n){ for(int i=2;i<=n/i;i++) { if(n%i==0)//这里的i符合条件的一定是质数 { int s=0; while(n%i==0) { n=...

2021-07-21 17:09:37 79

原创 n-n 皇后问题(第二种解法)

#include<iostream>using namespace std;const int N=20;bool row[N],col[N],dg[N],udg[N];char g[N][N];int n;void dfs(int x,int y,int s){ if(y==n) { y=0; x++; } if(x==n) { if(s==n) { ...

2021-07-20 16:52:33 69

原创 n−n−皇后问题(dfs)

n−n−皇后问题是指将nn个皇后放在n×nn×n的国际象棋棋盘上,使得皇后不能相互攻击到,即任意两个皇后都不能处于同一行、同一列或同一斜线上。现在给定整数nn,请你输出所有的满足条件的棋子摆法。输入格式共一行,包含整数nn。输出格式每个解决方案占nn行,每行输出一个长度为nn的字符串,用来表示完整的棋盘状态。其中.表示某一个位置的方格状态为空,Q表示某一个位置的方格上摆着皇后。每个方案输出完成后,输出一个空行。注意:行末不能有多余空格。输...

2021-07-20 16:00:51 90

原创 解决数字的全排列问题(dfs)

//排列数字#include<iostream>using namespace std;const int N=10;int n;bool st[N];int path[N];void dfs(int u){ if(u==n) { for(int i=0;i<n;i++) { printf("%d",path[i]); } puts(""); retur...

2021-07-20 15:02:59 89

原创 字符串哈希

#include<iostream>using namespace std;typedef unsigned long long ULL;const int N=100010,P=131;int n,m;char str[N];ULL h[N],p[N];ULL get(int l,int r){ return h[r]-h[l-1]*p[r-l+1];}int main(){ scanf("%d%d%s",&n,&m,str+1);...

2021-07-16 16:46:12 60

原创 哈希表(开放寻址法)

#include<iostream>#include<cstring>using namespace std;const int N=200003;int h[N],null=0x3f3f3f3f;int find(int x){ int k=(x%N+N)%N; while(h[k]!=null&&h[k]!=x) { k++; if(k==N) k=0; } return k;}...

2021-07-16 14:29:46 449

原创 哈希表(处理冲突时,拉链法)

//哈希表(拉链法)#include<iostream>#include<cstring>using namespace std;const int N=100003;int h[N],e[N],ne[N],idx;void insert(int x){//拉链法 int k=(x%N+N)%N; e[idx]=x; ne[idx]=h[k]; h[k]=idx++;}bool find(int x){ int k=(...

2021-07-16 11:30:13 185

原创 建堆操作

//建堆操作#include<iostream>#include<algorithm>using namespace std;const int N=100010;int n,m;int h[N],size;void down(int u){ int t=u;//储存最小值下标 if(u*2<=size&&h[u*2]<h[t]) t=2*u; if(u*2+1<=size&&h[u*2+1...

2021-07-15 22:47:06 59

原创 并查集(含有路径压缩)

//并查集#include<iostream>using namespace std;const int N=100010;int n,m;int p[N];int find(int x)//返回x的祖宗节点+路径压缩{ //最核心操作; if(p[x]!=x) p[x]=find(p[x]);//让x的父亲节点等于x的祖宗节点 return p[x];}int main(){ scanf("%d%d",&n,&m);...

2021-07-15 19:36:28 73

原创 Trie树的插入和查询操作

//Trie树的插入和查询操作#include<iostream>using namespace std;const int N=100010;int son[N][26],cnt[N],idx;void insert(char str[]){ int p=0; for(int i=0;str[i];i++) { int u=str[i]-'a'; if(!son[p][u]) son[p][u]=++idx; ...

2021-07-15 19:02:00 68

原创 KMP算法

//KMP算法 #include<iostream>using namespace std;const int N=10010,M=10010;int n,m;char p[N],s[M];int ne[N];int main(){ cin>>n>>p+1>>m>>s+1;//next[] 数组 for(int i=2,j=0;i<=n;i++) { while(j&&a...

2021-07-15 18:26:23 59

原创 双指针算法

#include<iostream>#include<algorithm>usingnamespacestd;intn;constintN=1000;inta[N],s[N];intmain(){cin>>n;for(inti=0;i<n;i++)cin>>a[i];intres=0;for(inti=0,j=0;i<n;i++){ s[a[i]]++;//看看数字出现了...

2021-06-16 23:57:54 109 1

原创 二维差分

#include<iostream>#include<cstdio>usingnamespacestd;constintN=1010;intn,m,q;inta[N][N],b[N][N];voidinsert(intx1,inty1,intx2,inty2,intc){b[x1][y1]+=c;b[x2+1][y1]-=c;b[x1][y2+1]-=c;b[x2+1][y2+1]+=c;}intmain(){scanf("%d...

2021-06-16 23:51:35 86 1

原创 一维差分

#include<iostream>#include<cstdio>usingnamespacestd;intn,m;constintN=10010;inta[N],b[N];voidinsert(intl,intr,intc){b[l]+=c;b[r+1]-=c;}intmain(){scanf("%d%d",&n,&m);for(inti=1;i<=n;i++)scanf("%d",&a[i])...

2021-06-16 23:46:29 74 1

原创 二维数组前缀和

#include<iostream>usingnamespacestd;constintN=1010;intn,m,q;inta[N][N],s[N][N];intmain(){scanf("%d%d%d",&n,&m,&q);for(inti=1;i<=n;i++)for(intj=1;j<=m;j++)scanf("%d",&a[i][j]);for(inti=1;i<=n;i++)for(int...

2021-06-16 00:48:23 134 1

原创 一维前缀和

#include<iostream>#include<cstdio>usingnamespacestd;constintN=10010;intn,m;inta[N],s[N];//全局变量默认初始化为0;intmain(){scanf("%d%d",&n,&m);for(inti=1;i<=n;i++)scanf("%d",&a[i]);//要从1开始哦这是为了处理边界s[0]默认为0;for(inti=1;i&...

2021-06-16 00:42:30 76 1

原创 高精度除法

#include<iostream>#include<vector>#include<string>#include<cstdio>usingnamespacestd;vector<int>div(vector<int>A,intb,int&r){vector<int>C;r=0;for(inti=A.size()-1;i>=0;i--){r=r*10+A[i];C...

2021-06-16 00:36:59 90

原创 快速排序

#include<iostream>using namespace std;int n;const int N=10010;int q[N];void quick_sort(int q[],int l,int r){ if(l>=r) return ; int x=q[l],i=l-1,j=r+1; while (i<j) { do i++;while(q[i]<x); do j--;while(q[j...

2021-06-16 00:30:56 111

原创 二分查找

通过一个题给大家分享一下二分查找算法//下面是代码#include<iostream>#include<cstdio>using namespace std;const int maxn=10000;int q[maxn];int main(){ int n,m; scanf("%d %d",&n,&m); for(int i=0;i<n;i++) scanf("%d",&q[i]); while...

2021-06-16 00:26:36 120

原创 高精度乘法

//首先我给大家说一下这个乘法跟我用的每一位想成是不一样的。就像123*12吧给大家举个例子就是先3*12=36 然后 取余 然后除以10 得3 进3 就是2*12+3 取余 9

2021-06-14 22:57:46 1175 1

原创 高精度加法

#include<iostream>#include<vector>#include<string>usingnamespacestd;constintN=1e6+10;vector<int>add(vector<int>&A,vector<int>&B){vector<int>C;intt=0;for(inti=0;i<A.size()||i<B.size...

2021-06-14 22:49:00 74

原创 C++ 映射:map 例5-4 反片语(UVa 156)

例5-4反片语输入一些单词,找出满足如下条件的单词:该单词不能通过字母重排,得到文本中的另一个单词。在判断是否满足条件时,字母不分大小写,但在输出是应保留输入中的大小写,按字典序进行排序(所有大写字母在所有小写字母的前面)。Sample input:ladder came tape soon leader acme RIDE lone Dreis peatScAlE orb eye Rides dealer NotE derail LaCeS drIednoel dire Disk mace R

2021-06-13 18:14:14 120 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除