![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
CCF CSP 认证
Catmull
M.S. Candidate @ CASIA
展开
-
CCF CSP 201709
1#include<bits/stdc++.h>using namespace std;int n;//n<=30 1元1瓶 3->1 5->2int ans; int main(){ cin>>n;n/=10; ans+=5*(n/5)+2*(n/5); n%=5; ans+=3*(n/3)+(n/3); n%=3; ans+=n; cout<<ans<<endl; }原创 2021-02-17 16:03:01 · 71 阅读 · 0 评论 -
CCF CSP 201703
1#include<bits/stdc++.h>using namespace std;int n,arr[1010],k;int main(){ cin>>n>>k; for(int i=1;i<=n;i++){ cin>>arr[i]; } int ans=0,now=0,i=1; while(i<=n){ if(now+arr[i]>=k){ ans++,now=0; } else{ now原创 2021-02-16 11:54:37 · 94 阅读 · 0 评论 -
CCF CSP 201612
1#include<bits/stdc++.h>using namespace std;int n,arr[1010];int main(){ cin>>n; for(int i=0;i<n;i++){ cin>>arr[i]; } sort(arr,arr+n); int ans=arr[n/2],small=0,big=0; for(int i=0;i<n;i++){ if(arr[i]<ans) small++; i原创 2021-02-10 11:26:43 · 66 阅读 · 0 评论 -
CCF CSP 201609
1#include<bits/stdc++.h>using namespace std;int n,arr[1010],ans;int main(){ cin>>n; for(int i=0;i<n;i++){ cin>>arr[i]; } for(int i=1;i<n;i++){ ans=max(ans,abs(arr[i]-arr[i-1])); } cout<<ans<<endl;}原创 2021-02-09 11:29:13 · 94 阅读 · 0 评论 -
CCF CSP 201604
1#include<iostream>#include<algorithm>using namespace std;int n,arr[1010],ans;int main(){ cin>>n; for(int i=1;i<=n;i++){ cin>>arr[i]; } for(int i=2;i<=n-1;i++){ if(arr[i]>arr[i-1]&&arr[i]>arr[i+1]){原创 2021-02-04 13:57:05 · 150 阅读 · 0 评论 -
CCF CSP 201512
1#include<iostream>using namespace std;int ans,n;int main(){ cin>>n; while(n){ ans+=n%10; n/=10; } cout<<ans<<endl;}原创 2021-01-30 15:06:09 · 61 阅读 · 0 评论 -
CCF CSP 201509
1#include<iostream>#include<algorithm>using namespace std;int n,arr[1010];int main(){ cin>>n; for(int i=1;i<=n;i++){ cin>>arr[i]; } int last=arr[1],ans=1; for(int i=2;i<=n;i++){ if(arr[原创 2021-01-28 18:07:20 · 57 阅读 · 0 评论 -
CCF CSP 201503
1#include<iostream>#include<algorithm>using namespace std;int n,m;int arr[1010][1010];int main(){ cin>>n>>m; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ cin>>arr[i][j]; } }原创 2021-01-27 11:13:18 · 58 阅读 · 0 评论 -
CCF CSP 201412
1#include<iostream>#include<algorithm>using namespace std;int arr[1010],n,temp;int main(){ cin>>n; for(int i=1;i<=n;i++){ cin>>temp; arr[temp]++; cout<<arr[temp]<<" "; }}原创 2021-01-23 11:24:49 · 55 阅读 · 0 评论 -
CCF CSP 201409
1#include<iostream>#include<algorithm>using namespace std;int n,ans;int arr[1100];int main(){ cin>>n; for(int i=0;i<n;i++){ cin>>arr[i]; } sort(arr,arr+n); for(int i=0;i<n-1;i++){ if(a原创 2021-01-21 12:22:10 · 74 阅读 · 0 评论 -
CCF CSP 201403
1#include<iostream>using namespace std;int n,arr[510],ans;int main(){ cin>>n; for(int i=0;i<n;i++){ cin>>arr[i]; } for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ if(arr[i]==-arr[j]){原创 2021-01-19 12:22:34 · 94 阅读 · 0 评论 -
CCF CSP 201312
1原创 2021-01-17 21:22:53 · 79 阅读 · 0 评论 -
CCF CSP 201909
1#include<bits/stdc++.h>using namespace std;int n,m;struct appletree{ int id; int initnum; int cutnum; int remain; bool operator <(const appletree& p) const{ if(cutnum!=p.cutnum){ return cutnum>p.cutnum; } return id<p原创 2020-12-12 22:15:26 · 94 阅读 · 0 评论 -
CCF CSP 202006
利用Ax+By+CAx+By+CAx+By+C的值判断在直线的哪一侧#include<iostream>#include<algorithm>#include<string>using namespace std;int x[1010],y[1010],n,m,theta0,theta1,theta2;bool t,flag;int judge(int _x,int _y){ return theta0+theta1*_x+theta2*_y; }.原创 2020-09-09 09:39:23 · 110 阅读 · 0 评论 -
CCF CSP 201809-4 再卖菜【DFS、差分约束系统(SPFA)】
题目链接70分解法(DFS)·枚举每一个商店的菜价时判断是否满足题目要求·如果(d1[s−2]+d1[s−1]+d1[s])/3<d2[s−1](d1[s-2]+d1[s-1]+d1[s])/3<d2[s-1](d1[s−2]+d1[s−1]+d1[s])/3<d2[s−1],说明第sss天的菜价低了,达不到第s−1s-1s−1天的平均数·如果(d1[s−2]+d1[s−1]+d1[s])/3==d2[s−1](d1[s-2]+d1[s-1]+d1[s])/3==d2[s-1](原创 2020-08-01 15:05:04 · 88 阅读 · 0 评论 -
CCF CSP 201909-5 城市规划【树上背包】
题目链接定义f[x][j]f[x][j]f[x][j]表示以点xxx为根的子树中选取jjj个节点的最小路径和。最终答案就是f[root][k]f[root][k]f[root][k]考虑当前节点与其直接子节点之间的关系:对答案的影响是每条边的贡献,贡献值为子树中选的节点个数∗子树外选的节点个数∗w子树中选的节点个数*子树外选的节点个数*w子树中选的节点个数∗子树外选的节点个数∗w以xxx为根的子树依赖于内部更小的子树,每个子树都可以在其中选取有限个点,不同子树中选取的数量可以不同,类似于背包问题原创 2020-07-12 16:38:39 · 554 阅读 · 0 评论 -
CCF CSP 201509-4 高速公路【Kosaraju】
题意:N个点,M条边的有向图,有多少对(x,y)(x,y)(x,y)满足xxx到yyy可达,yyy到xxx也可达思路:只有SCCSCCSCC中的点才满足两两可达的性质用KosarajuKosarajuKosaraju算法找出图中所有的SCCSCCSCC,计算其中的顶点对数设size[i]size[i]size[i]为第iii个sccsccscc中点的个数,则ans+=size[i]∗(size[i]−1)/2ans+=size[i]*(size[i]-1)/2ans+=size[i]∗(si原创 2020-06-27 20:36:54 · 180 阅读 · 0 评论 -
CCF CSP 201703-4 地铁修建【Dijkstra】
地铁修建常规的最短路问题为:(1)询问1−n1-n1−n路径长度的最小值(2)dis[x]dis[x]dis[x]表示1−x1-x1−x的距离(3)松弛条件为dis[y]>dis[x]+wdis[y]>dis[x]+wdis[y]>dis[x]+w本题为最短路变形问题:(1)询问1−n1-n1−n经过的边权最大值的最小值(2)dis[x]dis[x]dis[x]表示1−x1-x1−x边权最大值的最小值(3)松弛条件为dis[y]>max(dis[x],w)dis[y原创 2020-06-27 16:21:13 · 177 阅读 · 0 评论 -
CCF CSP 201809-3 元素选择器【树形结构模拟】
元素选择器题目链接思路分析对每一层目录利用结构体封装,结构体包含目录的名字,层数,所在行数将id与标题进行统一处理,简化后代选择器嵌套查询操作仅有一个元素选择器时,只需要遍历一般数组即可。含有多个元素选择器时,首先匹配最后一个元素选择器,然后按照数组从后往前,元素选择器从后往前的顺序查找,能全部匹配时记录答案。代码#include<iostream>#include<string>#include<algorithm>#include<原创 2020-06-02 10:56:48 · 160 阅读 · 0 评论 -
CCF CSP 201609-3 炉石传说 【面向对象模拟】
03-炉石传说题目链接题意描述《炉石传说:魔兽英雄传》(Hearthstone: Heroes of Warcraft,简称炉石传说)是暴雪娱乐开发的一款集换式卡牌游戏(如下图所示)。游戏在一个战斗棋盘上进行,由两名玩家轮流进行操作,本题所使用的炉石传说游戏的简化规则如下:玩家会控制一些角色,每个角色有自己的生命值和攻击力。当生命值小于等于 0 时,该角色死亡。角色分为英雄和随从。 ...原创 2020-05-01 10:46:01 · 200 阅读 · 0 评论 -
CCF CSP 20160403 路径解析 【模拟栈、sstream】
3- 路径解析题目链接题意描述在操作系统中,数据通常以文件的形式存储在文件系统中。文件系统一般采用层次化的组织形式,由目录(或者文件夹)和文件构成,形成一棵树的形状。文件有内容,用于存储数据。目录是容器,可包含文件或其他目录。同一个目录下的所有文件和目录的名字各不相同,不同目录下可以有名字相同的文件或目录。 为了指定文件系统中的某个文件,需要用路径来定位。在类 Unix 系统(Linux...原创 2020-04-03 19:21:32 · 127 阅读 · 0 评论 -
CCF CSP 20181204 数据中心【瓶颈生成树】
题目描述题目链接 CCF CSP 20181204 题意分析对于给定无向图,求解一颗生成树,使得最大边权最小即求解最小瓶颈生成树所用性质最小生成树一定是瓶颈生成树瓶颈生成树——百度百科【证明】:假设最小生成树不是瓶颈树,设最小生成树T的最大权边为e,则存在一棵瓶颈树Tb,其所有的边的权值小于w(e)。删除T中的e,形成两棵树T’, T’’,用Tb中连接T’, T’'的边...原创 2020-03-26 17:36:45 · 505 阅读 · 0 评论 -
CCF CSP 2015-12-3 画图【DFS】
题目描述用 ASCII 字符来画图是一件有趣的事情,并形成了一门被称为 ASCII Art 的艺术。例如,下图是用 ASCII 字符画出来的 CSPRO 字样。 本题要求编程实现一个用 ASCII 字符来画图的程序,支持以下两种操作: Ÿ 画线:给出两个端点的坐标,画一条连接这两个端点的线段。简便起见题目保证要画的每条线段都是水平或者竖直的。水平线段用字符 - 来画,竖直线段用字符 ...原创 2020-03-14 18:02:22 · 187 阅读 · 0 评论