12 2020 档案
摘要:n-皇后问题是指将 n 个皇后放在 n∗n 的国际象棋棋盘上,使得皇后不能相互攻击到,即任意两个皇后都不能处于同一行、同一列或同一斜线上。 现在给定整数n,请你输出所有的满足条件的棋子摆法。 #include<bits/stdc++.h> using namespace std; int p[100
阅读全文
摘要:给定一个整数n,将数字1~n排成一排,将会有很多种排列方法。 现在,请你按照字典序将所有的排列方法输出。 #include<bits/stdc++.h> using namespace std; int n,p[10]; bool k[10]; void out() { for(int i=1;i<
阅读全文
摘要:#include<bits/stdc++.h> #define ll long long using namespace std; int m; int n,p[20]; int sum,ans; int main() { scanf("%d%d",&n,&m); for(int i=1;i<=m;
阅读全文
摘要:#include<bits/stdc++.h> using namespace std; typedef long long LL; LL exgcd(LL a,LL b,LL &x,LL &y) { if(!b) { x=1,y=0; return a; } LL d=exgcd(b,a%b,y,
阅读全文
摘要:壹——最大公约数 欧几里得算法: gcd(x,y)=gcd(y,x%y); 边界条件:if(y==0)return x; #include<bits/stdc++.h> using namespace std; int a,b; inline int gcd(int x,int y) { if(!y
阅读全文
摘要:给定n对正整数a,b请你求出每对数的最大公约数。 #include<bits/stdc++.h> using namespace std; int a,b; inline int gcd(int x,int y) { if(!y)return x; else return gcd(y,x%y); }
阅读全文
摘要:给定n个正整数ai,请你输出这些数的乘积的约数个数, 答案对1e9+7取模 #include<bits/stdc++.h> #define MOD 1000000007 #define N 100000 using namespace std; map<int,int>d; int a[N],p[N
阅读全文
摘要:给定n个正整数ai,对于每个整数ai,请你按照从小到大的顺序输出它的所有约数。 #include<bits/stdc++.h> #define N 1000000 using namespace std; int a[N]; int main() { int t; cin>>t; for(int i
阅读全文
摘要:线性筛 #include<bits/stdc++.h> #define N 1000010 using namespace std; int v[N],p[N]; void pr(int n) { memset(v,0,sizeof(v)); int m=0; for(int i=2;i<=n;i+
阅读全文
摘要:给定n个正整数ai,将每个数分解质因数,并按照质因数从小到大的顺序输出每个质因数的底数和指数。 #include<bits/stdc++.h> using namespace std; int t; int main() { int tt; scanf("%d",&tt); while(tt--)
阅读全文
摘要:给定n个正整数ai,判定每个数是否是质数。 #include<bits/stdc++.h> using namespace std; bool ss(int x) { if(x==1)return 0; for(int i=2;i*i<=x;i++) if(x%i==0)return 0; retu
阅读全文
摘要:求把N*M的棋盘分割成若干个1*2的的长方形,有多少种方案。 j表示 n 位二进制数 1 表示有“突出” f[i][j]表示当前状态 f[i-1][k]是上一行的状态 if ((j&k)==0&&st[j|k]) f[i][j]+=f[i-1][k]; #include<bits/stdc++.h>
阅读全文
摘要:Ural大学有N名职员,编号为1~N。 他们的关系就像一棵以校长为根的树,父节点就是子节点的直接上司。 每个职员有一个快乐指数,用整数 Hi 给出,其中 1≤i≤N 。 现在要召开一场周年庆宴会,不过,没有职员愿意和直接上司一起参会。 在满足这个条件的前提下,主办方希望邀请一部分职员参会,使得所有参
阅读全文
摘要:给定一个R行C列的矩阵,表示一个矩形网格滑雪场。 矩阵中第 i 行第 j 列的点表示滑雪场的第 i 行第 j 列区域的高度。 一个人从滑雪场中的某个区域内出发,每次可以向上下左右任意一个方向滑动一个单位距离。 当然,一个人能够滑动到某相邻区域的前提是该区域的高度低于自己目前所在区域的高度。 #inc
阅读全文
摘要:实现一个双链表,双链表初始为空,支持5种操作: (1) 在最左侧插入一个数; (2) 在最右侧插入一个数; (3) 将第k个插入的数删除; (4) 在第k个插入的数左侧插入一个数; (5) 在第k个插入的数右侧插入一个数 现在要对该链表进行M次操作,进行完所有操作后,从左到右输出整个链表。 题~目~
阅读全文
摘要:实现一个单链表,链表初始为空,支持三种操作: (1) 向链表头插入一个数; (2) 删除第k个插入的数后面的数; (3) 在第k个插入的数后插入一个数 现在要对该链表进行M次操作,进行完所有操作后,从头到尾输出整个链表。 注意:题目中第k个插入的数并不是指当前链表的第k个数。例如操作过程中一共插入了
阅读全文
摘要:设有N堆石子排成一排,其编号为1,2,3,…,N。 每堆石子有一定的质量,可以用一个整数来描述,现在要将这N堆石子合并成为一堆。 每次只能合并相邻的两堆,合并的代价为这两堆石子的质量之和,合并后与这两堆石子相邻的石子将和新堆相邻,合并时由于选择的顺序不同,合并的总代价也不相同。 #include<b
阅读全文
摘要:给定n个长度不超过10的字符串以及m次询问,每次询问给出一个字符串和一个操作次数上限。 对于每次询问,请你求出给定的n个字符串中有多少个字符串可以在上限操作次数内经过操作变成询问给出的字符串。 每个对字符串进行的单个字符的插入、删除或替换算作一次操作。 #include<bits/stdc++.h>
阅读全文
摘要:给定两个长度分别为N和M的字符串A和B,求既是A的子序列又是B的子序列的字符串长度最长是多少。 #include<bits/stdc++.h> using namespace std; string s1,s2; int f[1010][1010]; int l1,l2; int main() {
阅读全文
摘要:给定一个长度为N的数列,求数值严格单调递增的子序列的长度最长是多少。 输入格式 第一行包含整数N。 第二行包含N个整数,表示完整序列。 输出格式 输出一个整数,表示最大长度。 数据范围 1≤N≤100000 , −109≤数列中的数≤109 输入样例: 7 3 1 2 1 8 5 6 输出样例: 4
阅读全文
摘要:给定一个长度为N的数列,求数值严格单调递增的子序列的长度最长是多少。 #include<bits/stdc++.h> using namespace std; const int N=1005; int a[N],f[N],n,ans; int main() { cin>>n; for(int i=
阅读全文
摘要:给定一个如下图所示的数字三角形,从顶部出发,在每一结点可以选择移动至其左下方的结点或移动至其右下方的结点,一直走到底层,要求找出一条路径,使路径上的数字的和最大。 #include <bits/stdc++.h> using namespace std; int a[1010][1010],f[10
阅读全文
摘要:多重背包 有 n种物品 一共有 m大小的背包,每种物品的价值 大小 个数 为 s[i],v[i],num[i]; #include<bits/stdc++.h>//cmhao #define N 100000 using namespace std; int a[N]; int n,m,cut; i
阅读全文

浙公网安备 33010602011771号