计蒜客课程
计蒜客程序设计竞赛课程题目
AKalone
这个作者很懒,什么都没留下…
展开
-
计蒜客第八章:骑车比赛
计蒜客习题:骑车比赛题目样例思路Dij简单应用,不再赘述。代码#include<iostream>#include<cstring>using namespace std;const int MAX_N = 10000;const int MAX_M = 100000;const int inf = 0x3f3f3f3f;struct edge ...原创 2019-10-23 23:44:31 · 1475 阅读 · 0 评论 -
计蒜客第七章:网络延时
计蒜客习题:网络延时题目样例思路邻接表,求树的直径问题,常规两个BFS。代码#include<iostream>#include<vector>#include<queue>#include<cstring>using namespace std;vector<int> mp[50010];int dist[5...原创 2019-10-23 16:18:46 · 139 阅读 · 0 评论 -
计蒜客第七章:子树的结点个数
计蒜客习题:子树的结点个数题目样例思路模板题,完全使用课程讲解的代码,只在dfs中加了一句记录自身点的代码。代码#include<iostream>#include<vector>#include<cstring>using namespace std;const int MAX_N=1010;int n;struct edge {...原创 2019-10-23 16:15:03 · 162 阅读 · 0 评论 -
计蒜客第七章:最短路简化版
计蒜客习题:最短路简化版题目样例思路邻接矩阵+dijkstra。代码#include<iostream>using namespace std;const int maxn=1010;const int inf=0x3f3f3f;int mp[maxn][maxn],l[maxn],v[maxn],n,m;void init(){ for(int i...原创 2019-10-23 15:48:23 · 622 阅读 · 0 评论 -
计蒜客第七章:互粉攻略
计蒜客习题:互粉攻略题目样例思路邻接矩阵,mp[0][j]记录粉丝数,mp[i][1]记录关注数,注意重复输入过滤。代码#include<iostream>using namespace std;int n,m,mp[1010][1010];int main(){ scanf("%d %d",&n,&m); while(m--) ...原创 2019-10-23 15:34:40 · 1797 阅读 · 0 评论 -
计蒜客第七章:农场看守
计蒜客习题:农场看守题目样例思路离散图,采用链表存储,每条边带有标记位,然后过一遍DFS并在每一层输出点即可。代码#include<iostream>#include<vector>using namespace std;int n,m;vector<pair<int,bool> > mp[50010];void dfs(i...原创 2019-10-23 15:27:19 · 195 阅读 · 0 评论 -
计蒜客第七章:修建大桥
计蒜客习题:修建大桥题目样例思路利用DFS记录能够达到的点数,结束后输出n-num-1。代码#include<iostream>#include<cstring>using namespace std;const int MAX_N = 1010;const int MAX_M = 1000100;struct edge { int v, ...原创 2019-10-22 22:48:29 · 117 阅读 · 0 评论 -
计蒜客第七章:画图游戏
计蒜客习题:画图游戏题目样例思路由于答案不唯一,所以选择最简单的方案即可,由度数从大到小看,将度数最大点与前度数个点连边,被连边的点度数减少,反复操作,直到所有点的度数分配好。代码#include<iostream>#include<algorithm>using namespace std;int n;int mp[20][20];struct ...原创 2019-10-22 22:35:57 · 136 阅读 · 0 评论 -
计蒜客第七章:邻接表的使用
计蒜客习题:邻接表的使用题目样例思路利用vector构建邻接表,简单使用,不再赘述。代码#include<iostream>#include<vector>using namespace std;int n,m;vector<int> mp[105];int main(){ cin>>n>>m; ...原创 2019-10-22 22:16:34 · 359 阅读 · 0 评论 -
机蒜客第七章:邻接矩阵的使用
机蒜客习题:邻接矩阵的使用题目样例思路熟悉邻接矩阵水题。代码#include<iostream>using namespace std;int n,m,mp[105][105];int main(){ cin>>n>>m; while(m--) { int a,x,y; cin>...原创 2019-10-21 01:33:02 · 124 阅读 · 0 评论 -
机蒜客第六章:垒骰子
机蒜客练习题:垒骰子题目样例思路p[i]为i的对面值,f.a[ i ][ j ]表示第 i 个骰子 j 面朝上的摆法有几种,n个骰子有5个接触面,所以需要n-1次幂,n为1时,单独讨论,一面朝上的时有4种摆法,最后要乘以 4^n。代码#include<iostream>using namespace std;#define ll long long const l...原创 2019-10-21 01:28:12 · 117 阅读 · 0 评论 -
机蒜客第六章:蒜头君倒水
机蒜客练习题:蒜头君倒水题目样例思路转移矩阵:计算公式:代码#include<iostream>using namespace std;struct matrix{ double a[100][100];};matrix matrix_mul(matrix A, matrix B){ matrix C; for (int i = ...原创 2019-10-21 00:00:14 · 218 阅读 · 0 评论 -
机蒜客第六章:Fib数列问题之二
机蒜客练习题:Fib数列问题之二题目样例思路模板题,课程内已细致讲解,不再赘述。代码#include<iostream>using namespace std;struct matrix{ long long a[100][100];};matrix matrix_mul(matrix A, matrix B, int mod) { // 2...原创 2019-10-20 23:53:59 · 213 阅读 · 2 评论 -
机蒜客第六章:气球消消乐
机蒜客练习题:气球消消乐题目样例思路分配颜色种类,若第一个气球为颜色1,则第二个气球有n-1个选择,而第三个气球不能选择第二个气球的颜色,依次类推,除第一个之外,都只有m-1个选择,故不会发生消消乐的情况数为m∗(m−1)n−1,而总情况数为mn,所求作差可得。代码#include<iostream>using namespace std;const long lo...原创 2019-10-20 23:49:09 · 201 阅读 · 1 评论 -
计蒜客第六章:同余方程
计蒜客练习题:同余方程题目样例思路利用扩展欧几里得公式,计算exgcd(a,m)即可。代码#include<iostream>using namespace std;int a,b;int exgcd(int a,int b,int &x,int &y){ int d=a; if(b!=0) { d=exg...原创 2019-10-19 20:49:19 · 129 阅读 · 0 评论 -
计蒜客第六章:质数原根
计蒜客练习题:质数原根题目样例思路质数p的原根数等于p-1的欧拉函数。代码#include<iostream>using namespace std;int euler(int n){ int res=n,mid=n; for(int i=2;i*i<=mid;i++) if(mid%i==0) { res=res/i*(i-1); ...原创 2019-10-19 20:42:12 · 105 阅读 · 0 评论 -
练习题:互质数个数
练习题:互质数个数题目样例思路求n的欧拉函数。代码#include <iostream>using namespace std;int euler(int n){ int res=n,mid=n; for(int i=2;i*i<=mid;i++) if(mid%i==0) { res=res/i*(i-1);//减去res中i倍数的个数...原创 2019-10-19 20:37:45 · 1579 阅读 · 0 评论 -
计蒜客第六章:素数距离
计蒜客练习题:素数距离题目样例思路先进行质数筛法求全部范围内质数,在取出区间(l,r)中的质数,最后遍历找出所求。代码#include<iostream>using namespace std;bool is_prime[8000100];int a[1000000];int main(){ int l,r; scanf("%d %d",&am...原创 2019-10-19 20:18:16 · 127 阅读 · 0 评论 -
计蒜客第六章:蒜头君的猜想
计蒜客练习题:蒜头君的猜想题目样例思路套课程精讲提供的质数筛选的模板,在此基础上1和0反用,可减少赋初值步骤。代码#include<iostream>using namespace std;bool is_prime[8000010];int main(){ int n; long long num=0; scanf("%d",&...原创 2019-10-19 20:09:23 · 148 阅读 · 0 评论 -
计蒜客第六章:取石子游戏
计蒜客练习题:取石子游戏题目样例思路a+b|gcd(a,b)和a-b|gcd(a,b),故找n/gcd(a,b)奇偶性即可,奇则先手赢,偶则后手赢。代码#include<iostream>#include<algorithm>using namespace std;int main(){ int t,n,a,b; scanf("%d"...原创 2019-10-19 19:58:50 · 480 阅读 · 0 评论 -
计蒜客第六章:两仪剑法
计蒜客练习题:两仪剑法题目样例思路求两弟子周期节点相遇,明显为求最小公倍数,考虑到数值m和n为109级,其最小公倍数可能达到1018,所以使用统一使用long long型,而算法采用辗转相除法求出最大公因数,进而求出最小公倍数。代码#include<iostream>using namespace std;long long t,n,m;long long gcd...原创 2019-10-19 19:31:17 · 185 阅读 · 0 评论 -
计蒜客第四章:蒜头君的蜡笔
计蒜客习题:蒜头君的蜡笔题目样例代码#include<iostream>#include<cstring>using namespace std;#define ll long longconst int inf=0x3f3f3f3f;int n,dp[1<<16+5],f;bool mp[20][20];unsigned sum;c...原创 2019-10-19 19:19:03 · 180 阅读 · 0 评论 -
计蒜客第四章:消除字符串
计蒜客习题:消除字符串题目样例代码#include<iostream>using namespace std;int n,dp[1<<16+5];string s;bool IsPalindrome(int t){ int l=0,r=n-1; while(l<r) { while(!(t&(1&l...原创 2019-10-19 00:12:03 · 469 阅读 · 0 评论 -
计蒜客第四章:蒜头君的积木
计蒜客习题:蒜头君的积木题目样例代码#include<iostream>#include<cstring>using namespace std;int main(){ int W,n,s[20],w[20],mi=1000,www,sss,dp[1<<16+5]; cin>>W>>n; for...原创 2019-10-18 23:52:19 · 224 阅读 · 0 评论 -
计蒜客第四章:回文串
计蒜客习题:回文串题目样例代码#include<iostream>using namespace std;int dp[3010][3010],l1=1;char s1[3010],s2[3010],c;int main(){ while(scanf("%c",&c)==1&&c!=10) { s1[l1]=...原创 2019-10-18 10:14:23 · 504 阅读 · 0 评论 -
计蒜客第四章:最长公共子序列
计蒜客习题:最长公共子序列题目样例代码#include<iostream>using namespace std;int dp[1010][1010],l1,l2;string s1,s2;int main(){ getline(cin,s1); getline(cin,s2); l1=s1.size(); l2=s2.size()...原创 2019-10-18 10:09:52 · 457 阅读 · 0 评论 -
计蒜客第四章:删除最少的元素
计蒜客习题:删除最少的元素题目样例代码#include<iostream>using namespace std;int dp1[1010],dp2[1010],a[1010],ans1=0,ans2=0,n,ma=0;int main(){ cin>>n; for(int i=1;i<=n;i++) cin>...原创 2019-10-18 10:07:31 · 446 阅读 · 0 评论 -
计蒜客第四章:蒜头跳木桩
计蒜客习题:蒜头跳木桩题目样例代码#include<iostream>using namespace std;int ans[1010],a[1010],dp[1010],n;int len;int main(){ cin>>n; for(int i=n;i>=1;i--) cin>>a[i]; an...原创 2019-10-18 02:32:05 · 460 阅读 · 0 评论 -
计蒜客第四章:蒜头君的购物袋 3
计蒜客习题:蒜头君的购物袋 3题目样例代码#include<iostream>using namespace std;int dp[30010];int main(){ int V,n,v,p,ma=0; cin>>n>>V; for(int i=1;i<=n;i++) { cin>...原创 2019-10-16 21:14:25 · 129 阅读 · 0 评论 -
计蒜客第四章:蒜头君的购物袋 2
计蒜客习题:蒜头君的购物袋 2题目样例代码#include<iostream>using namespace std;int dp[3010];int main(){ int V,n,v,p,ma=0; cin>>V>>n; for(int i=1;i<=n;i++) { cin>&...原创 2019-10-16 21:12:54 · 75 阅读 · 0 评论 -
计蒜客第四章:蒜头君的购物袋 1
计蒜客习题:蒜头君的购物袋 1题目样例代码#include<iostream>using namespace std;int dp[30010];int main(){ int V,n,v; cin>>V>>n; for(int i=1;i<=n;i++) { cin>>v;...原创 2019-10-16 20:15:05 · 446 阅读 · 0 评论 -
计蒜客第四章:蒜头君的新游戏
计蒜客习题:蒜头君的新游戏题目样例代码#include <iostream>using namespace std;long long mp[35][35];int main(){ int n,m,f1,f2; cin>>n>>m; mp[1][2]=1; mp[1][n]=1; for(int i=2...原创 2019-10-13 23:07:16 · 422 阅读 · 0 评论 -
计蒜客第四章:逃生
计蒜客习题:逃生题目样例代码#include<iostream>using namespace std;int a[1005][1005];int main(){ int n,m,x,y,v,c; cin>>n>>m>>x>>y>>v>>c; for(int i=1;i...原创 2019-10-13 23:00:28 · 541 阅读 · 0 评论 -
计蒜客第四章:捡水果
计蒜客习题:捡水果题目样例代码#include<iostream>using namespace std;long long a[1005][1005];int main(){ int n,ma; cin>>n; for(int i=1;i<=n;i++) for(int j=1;j<=i;j++)...原创 2019-10-13 22:57:21 · 497 阅读 · 0 评论 -
计蒜客第四章:杨辉三角
计蒜客习题:杨辉三角题目样例代码#include<iostream>using namespace std;long long a[55][55];int main(){ int n,m; cin>>n>>m; a[1][1]=1; for(int i=2;i<=n;i++) for(in...原创 2019-10-13 22:55:20 · 77 阅读 · 0 评论 -
计蒜客第四章:墙壁涂色
计蒜客习题:墙壁涂色题目样例代码#include<iostream>using namespace std;long long a[55];int main(){ int n; cin>>n; a[1]=3; a[2]=6; a[3]=6; for(int i=4;i<=n;i++) ...原创 2019-10-13 22:52:23 · 492 阅读 · 0 评论 -
计蒜客第四章:马踏过河卒
计蒜客习题:马踏过河卒题目样例代码#include<iostream>using namespace std;long long mp[25][25],step[10][3]={{0,0},{-2,-1},{-1,-2},{1,-2},{2,-1},{2,1},{1,2},{-1,2},{-2,1}};int main(){ int n,m,x,y; ...原创 2019-10-13 22:47:33 · 468 阅读 · 0 评论 -
计蒜客第三章:蒜头君回家
计蒜客习题:蒜头君回家题目样例题解两次BFS打表,第一次从起点到钥匙,第二次从终点到钥匙,找出两个表相同位置加和最小的值。代码#include<iostream>#include<queue>#include<cstring>using namespace std;int n,m,xx[7]={0,0,-1,1},num[2005][2...原创 2019-10-12 00:46:25 · 692 阅读 · 1 评论 -
计蒜客第三章:一维坐标的移动
计蒜客习题:一维坐标的移动题目样例代码#include<iostream>#include<queue>using namespace std;int v[5010],n,a,b,num[5010];void bfs(int s){ queue<int> q; q.push(s); v[s]=1; while...原创 2019-10-12 00:41:50 · 702 阅读 · 0 评论 -
计蒜客第三章:八皇后问题
计蒜客习题:八皇后问题题目样例代码#include<iostream>using namespace std;int sum=0,ma=0,a[20],x1[20],y1[20],map[10][10];void dfs(int deep){ if(deep>=8) { if(sum>ma) ma=sum; ...原创 2019-10-11 11:15:27 · 423 阅读 · 0 评论