基础题
文章平均质量分 68
ALLACS
千里之行,始于足下
展开
-
poj 1845 + hdu 1452 快速幂+模逆元运算(扩展gcd)+数论求因子和
poj 1845//poj 1845#include<iostream>#include<cstdio>using namespace std;const int maxn=1e5+5;const int MD=9901;typedef long long LL;int p[maxn],a[maxn];void ex_gcd(LL n,LL k,LL ...原创 2018-09-27 22:36:30 · 176 阅读 · 0 评论 -
Codeforces Round #512 (Div. 2, based on Technocup 2019 Elimination Round 1)
比赛传送门A题.水题#include<bits/stdc++.h>using namespace std;int main(){ int t; scanf("%d",&t); bool flag=false; while(t--) { int n; scanf("%d",&n); ...原创 2018-09-24 14:55:07 · 130 阅读 · 0 评论 -
牛客练习赛24
题目传送门A. 思维 快速幂取模#include<bits/stdc++.h>using namespace std;typedef long long LL;const LL mod=1000000007;LL pow_mod(LL a,LL b){ LL res=1; while(b) { if(b&1) res=...原创 2018-08-11 17:48:53 · 164 阅读 · 0 评论 -
nefu 120 梅森素数 卢卡斯-莱默素数测试 miller-rabin素数测试 打表
http://acm.nefu.edu.cn/JudgeOnline/problemShow.php?problem_id=1201.打表//梅森素数#include<iostream>#include<cstdio>#include<cmath>using namespace std;typedef unsigned long long U...原创 2018-07-21 09:15:59 · 494 阅读 · 0 评论 -
2017ACM/ICPC广西邀请赛-重现赛(感谢广西大学)
A.水题#include<iostream>#include<cstdio>#include<cmath>using namespace std;typedef long long LL;int main(){ LL a[20]; for(int i=1;i<=15;i++) { a[i]=1; ...原创 2018-07-15 10:44:56 · 512 阅读 · 0 评论 -
Codeforces Round #478 (Div. 2)
点击打开链接A. Aramic scriptSTL中set容器的运用#include<bits/stdc++.h>using namespace std;const int maxn=1000+5;int main(){ std::ios::sync_with_stdio(false); cin.tie(0); set<string>str;...原创 2018-06-27 16:50:02 · 159 阅读 · 0 评论 -
Educational Codeforces Round 43 (Rated for Div. 2)
A. Minimum Binary Number 简单的思维题#include<bits/stdc++.h>using namespace std;const int maxn=100+5;int main(){ char s[maxn]; int n; scanf("%d",&n); scanf("%s",s);...原创 2018-06-25 22:47:35 · 105 阅读 · 0 评论 -
Codeforces Round #481 (Div. 3)
点击打开链接A. 水题 去重但是保持原次序#include<bits/stdc++.h>using namespace std;const int maxn=50+5;int a[maxn],b[maxn];int main(){ int n; scanf("%d",&n); memset(b,0,sizeof(b)); for(int...原创 2018-05-16 14:46:41 · 191 阅读 · 0 评论 -
Codeforces Round #479 (Div. 3)
点击打开链接A.水题#include<bits/stdc++.h>using namespace std;int main(){ int n,k; scanf("%d%d",&n,&k); while(k--) { if(n%10) n--; else { n/=10; } } cout<<n<<endl; ...原创 2018-05-08 18:37:05 · 137 阅读 · 0 评论 -
Helvetic Coding Contest 2018 online mirror A2. Death Stars (medium) memcmp+思维
点击打开链接//substr是C++函数,主要功能是复制子字符串,要求从指定位置开始,并具有指定的长度#include <bits/stdc++.h>using namespace std;const int maxn=2000+5;string s1[maxn],s2[maxn];int main(){ std::ios::sync_with_stdio(fals...原创 2018-04-21 23:12:02 · 190 阅读 · 0 评论 -
Tinkoff Internship Warmup Round 2018 and Codeforces Round #475 (Div. 2) (弱鸡持续更新中) 特别注意a的-k次方取模方法
点击打开链接A. Splits 数学题 思维题#include <iostream>#include<cstdio>using namespace std;int main(){ std::ios::sync_with_stdio(false); cin.tie(0); int n; scanf("%d",&n); c...原创 2018-04-23 22:57:09 · 194 阅读 · 0 评论 -
Codeforces Round #476 (Div. 2) [Thanks, Telegram!] (弱鸡持续更新中)
点击打开链接A.数学题 #include<bits/stdc++.h>using namespace std;int main(){ double k,n,s,p; cin>>k>>n>>s>>p; int x=(int)ceil(ceil(n/s)*k/p); cout<<x<&l原创 2018-05-03 14:45:29 · 284 阅读 · 0 评论 -
Codeforces Round #477 (rated, Div. 2, based on VK Cup 2018 Round 3)
点击打开链接A.水题 题意开始有些迷#include<bits/stdc++.h>using namespace std;int main(){ int n,s; scanf("%d%d",&n,&s); int last=0,next; bool flag=false; for(int i=0;i<n;i++) ...原创 2018-05-09 12:49:43 · 146 阅读 · 0 评论 -
hdu 1005 矩阵快速幂
题目传送门构造转移矩阵,进行矩阵快速幂即可,注意特判n<3时的情况#include<iostream>#include<cstdio>using namespace std;typedef long long LL;int mod=7,a,b;struct matrix{int m[2][2];};matrix mul(matrix A,ma...原创 2018-10-09 23:54:43 · 259 阅读 · 0 评论 -
51nod 2512 重排列得到2的幂 递归搜索
点击打开链接#include<bits/stdc++.h>using namespace std;typedef long long LL;char s[15];int cnt;LL solve[50];bool done[15];bool dfs(int c,char sol[]){ if(c==cnt) { sol[c]='\0'; ...原创 2019-04-04 10:46:32 · 175 阅读 · 0 评论 -
51nod 1416 两点
点击打开链接dfs判断环路#include<bits/stdc++.h>using namespace std;const int maxn=50+5;int num[maxn][maxn],n,m;int dx[]={0,0,-1,1};int dy[]={-1,1,0,0};bool done[maxn][maxn];bool dfs(int x,int y...原创 2019-03-23 18:22:16 · 132 阅读 · 0 评论 -
剑指Offer 调整数组顺序使奇数位于偶数之前 思维 排序
传送门题意:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。分析:首先想到了快速排序,进行一次快排便可以达到目的,使用两个指针遍历的方法,但是题目要求奇偶相对顺序不发生改变,这时由于快排是不稳定的排序方法,不满足题意,于是排除掉快速排序的思路。 接...原创 2019-08-08 09:10:08 · 99 阅读 · 0 评论 -
PAT (Advanced Level) 1081 模拟 1021 并查集 树的直径 链式前向星
PAT 1081代码丑陋,不想改了#include<bits/stdc++.h>using namespace std;typedef long long LL;typedef pair<string,LL>PII;const int maxn=100;LL gcd(LL a,LL b){ return b==0?a:gcd(b,a%b);}...原创 2019-04-28 11:59:16 · 133 阅读 · 0 评论 -
PAT (Advanced Level) 1144 思维 二分 1051 Pop Sequence 模拟栈 1049 1-N中数位1的个数 规律
PAT 1144#include<bits/stdc++.h>using namespace std;const int maxn=1e5+5;int main(){ int n,a[maxn]; scanf("%d",&n); for(int i=0;i<n;i++) { scanf("%d",&a[i]); } sort(a,...原创 2019-05-02 13:27:36 · 155 阅读 · 0 评论 -
PAT (Advanced Level) 1013 并查集求连通分量个数 1014 模拟(有坑,在规定时间未处理完的任务要处理完) 1035(简单题)
PAT 1013#include<bits/stdc++.h>using namespace std;const int maxn=1000+5;int parent[maxn];int find(int x){ return x==parent[x]?x:parent[x]=find(parent[x]);}int v,e;void init(){ for...原创 2019-04-18 10:03:16 · 186 阅读 · 0 评论 -
PAT (Advanced Level) 1010 Radix 整数向上溢出作为判断条件+二分查找 (坑题) 1011 简单题 1012 map(有坑)
PAT 1010注意:基数有可能会非常大,运算溢出后会得到负数,利用这个性质判断二分上界//二分查找 基数有可能会很大#include<bits/stdc++.h>using namespace std;const int maxn=1000+5;typedef long long LL;const LL INF=0x3f3f3f3f3f3f3f3f;LL min...原创 2019-04-17 13:18:24 · 140 阅读 · 0 评论 -
poj 2796 单调栈
poj 2796#include<iostream>#include<cstdio>#include<stack>using namespace std;const int maxn=1e5+5;typedef long long LL;typedef pair<LL,int>PII;LL max(LL a,LL b){ ...原创 2019-04-20 19:11:09 · 230 阅读 · 0 评论 -
51nod 1413 权势二进制 思维(取各数位中最大的那个数)
51nod 1413//权势二进制#include<bits/stdc++.h>using namespace std;int main(){ int n; scanf("%d",&n); int ans=-1; while(n) { ans=max(ans,n%10); n/=10; ...原创 2019-04-09 22:26:57 · 108 阅读 · 0 评论 -
51nod 1925 + 51nod 1095
51nod 1095注意排序的思想#include<bits/stdc++.h>using namespace std;int main(){ int n; scanf("%d",&n); map<string,int>str,solve; str.clear(); solve.clear(); getchar(); for(int i...原创 2019-04-09 21:23:40 · 406 阅读 · 0 评论 -
PAT (Advanced Level) 1003 dij变形 求最短路的数量 1046 思维 公式推导 1030 dij变形
点击打开链接//dij变形#include<bits/stdc++.h>using namespace std;typedef long long LL;typedef pair<int,int>PII;const int maxv=500+5;const int maxe=250000+5;const int INF=0x3f3f3f3f;struc...原创 2019-04-14 11:29:07 · 274 阅读 · 0 评论 -
51nod 2485 + 51nod 2486
51nod 2485#include<bits/stdc++.h>using namespace std;int main(){ char s[505]; scanf("%s",s); int a[30]; memset(a,0,sizeof(a)); int len=strlen(s); for(int i=0;i<l...原创 2019-04-11 10:01:07 · 596 阅读 · 0 评论 -
51nod 2499 不降的数字 dfs搜索剪枝
点击打开链接//dfs+剪枝#include<bits/stdc++.h>using namespace std;int n,sum1=-1;string s;void dfs(int sol[],int cnt,int pos,int num){ if(cnt==num) { int sum=0; for(int i=0;i&...原创 2019-04-06 14:42:02 · 152 阅读 · 0 评论 -
51nod 2500 后面第一个大于
点击打开链接#include<bits/stdc++.h>using namespace std;const int maxn=3e4+5;vector<int>G[105];int main(){ int n; scanf("%d",&n); int a[maxn]; for(int i=0;i<n;i++)...原创 2019-04-06 10:32:13 · 212 阅读 · 0 评论 -
51nod 2502 最多分成多少块 dfs回溯
点击打开链接//前一个分块中的最大值要<=下一个分块中的最小值#include<bits/stdc++.h>using namespace std;const int INF=0x3f3f3f3f;int b[15][15],c[15][15];bool done[15];int n;bool dfs(int pos,int num,int sol[],int...原创 2019-04-05 23:46:42 · 495 阅读 · 0 评论 -
51nod 顺子 思维题
点击打开链接#include<bits/stdc++.h>using namespace std;const int maxn=1e4+5;int main(){ int n; scanf("%d",&n); int done[maxn]; memset(done,0,sizeof(done)); int a[maxn];...原创 2019-04-04 14:37:44 · 206 阅读 · 1 评论 -
poj 1061 扩展gcd解决模线性方程 求解gcd可以使用库函数__gcd(),头文件为#include<algorithm>
点击打开链接//模线性方程组,方程式为k(m-n)(mod l)=(x-y)(mod l)#include<iostream>#include<cstdio>using namespace std;typedef long long LL;void ex_gcd(LL a,LL b,LL &g,LL &x,LL &y){ if(!...原创 2018-05-02 13:33:29 · 3899 阅读 · 0 评论 -
NYOJ 题目448 寻找最大数 贪心
点击打开链接//贪心#include <iostream>#include<cstdio>#include<cstring>using namespace std;const int maxn=100+5;char s[maxn];int maze[maxn];int main(){ int T; scanf("%d",&...原创 2018-04-12 17:10:10 · 182 阅读 · 0 评论 -
poj 3087 模拟 水题
点击打开链接//模拟#include <iostream>#include<cstdio>#include<string>#include<set>using namespace std;string s1,s2,S;set<string>str;int n;string com(){ string f; ...原创 2018-03-11 12:41:42 · 116 阅读 · 0 评论 -
51nod 1003 阶乘末尾的0的个数
点击打开链接#include<iostream>#include<cstdio>using namespace std;int count(int n){ if(n==0) return 0; return n/5+count(n/5);}int main(){ int n; scanf("%d",&n); co...原创 2018-02-24 11:17:05 · 125 阅读 · 0 评论 -
hdu 1873 自定义优先队列
点击打开链接#include <iostream>#include<cstdio>#include<queue>using namespace std;struct node{int x,y;friend bool operator<(node n1,node n2){ if(n1.x!=n2.x) return n1.x<n2...原创 2018-03-10 13:41:43 · 132 阅读 · 0 评论 -
hdu 2519 排列组合数(注意精度)
点击打开链接#include <iostream>#include<cstdio>using namespace std;int n,m;void C(){ if(n<m) { printf("0\n"); return; } if(n==m) { printf("1\n...原创 2018-03-02 11:36:52 · 174 阅读 · 0 评论 -
51nod 1001 排序+二分查找
点击打开链接//排序+二分查找#include <iostream>#include<cstdio>#include<algorithm>using namespace std;const int maxn=50000+5;int a[maxn];int main(){ int k,n; scanf("%d%d",&k,&...原创 2018-02-23 11:04:43 · 187 阅读 · 0 评论 -
51nod 1008 大整数阶乘取模
点击打开链接#include<iostream>#include<cstdio>using namespace std;typedef long long LL;int main(){ LL a,b; cin>>a>>b; LL sum=1; for(int i=1;i<=a;i++) ...原创 2018-02-22 22:20:02 · 407 阅读 · 0 评论 -
CodeForces 450B 水题(注意负数取模的方法)
点击打开链接#include<bits/stdc++.h>using namespace std;const int mod=1e9+7;int main(){ int x,y; scanf("%d%d",&x,&y); int t[6]={x,y,y-x,-x,-y,x-y}; int n; scanf("%d",&am...原创 2018-03-07 09:33:13 · 134 阅读 · 0 评论 -
ACM Southwestern European Regional Programming Contest (SWERC) 2017 F 水题
#include #includeusing namespace std;typedef long long LL;int main(){ LL sum=0; int w,n; scanf("%d",&w); scanf("%d",&n); while(n--) { int a,b;原创 2018-01-27 19:50:17 · 300 阅读 · 0 评论