自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 CCF CSP认证201903-3 损坏的RAID5

201903-3 损坏的RAID5题目思路找bug真难。我为什么要一个一个字节处理呢??代码如下#include<cstdio>#include<cstring>int content[1005][4005];//一个数表示一个字节 bool good[1005]={false};int n,s,l,m,len;char data[80005],h[2...

2019-09-05 19:46:16 385

原创 CCF CSP认证201903-4 消息传递接口(模拟)

201903-4 消息传递接口题目思路用队列数组储存各个进程的指令。从任意进程的队首指令开始,递归查找能匹配的指令,查到便将该指令对出列。代码如下(40分)#include<cstdio>#include<cstring>#include<queue>using namespace std;struct comand{...

2019-09-05 19:33:04 448 2

原创 CCF CSP认证201903-5 317号子任务

201903-5 317号子任务题目思路暴力混分,每个点来一次dijkstra最短路算法。代码如下(30分)#include<cstdio>#include<vector>#include<cstring>#include<queue>#include<algorithm>using namespace std;con...

2019-09-04 22:15:32 535

原创 CCF CSP认证201903-2 二十四点

201903-2 二十四点题目思路遍历两次,第一次处理乘除,第二次处理加减。AC代码如下#include<cstdio>int main(){ int n,a[4]; char c[4]; scanf("%d",&n); getchar(); while(n--){ for(int i=0;i<4;i++){ a[i]...

2019-09-04 22:09:49 296

原创 CCF CSP认证201903-1 小中大

201903-1 小中大题目思路AC代码如下#include<cstdio>int t[100005];int main(){ int n,a,b; double c; scanf("%d",&n); for(int i=0;i<n;i++) scanf("%d",&t[i]); if(t[0]>t[n-1]) a=...

2019-09-04 22:05:37 321

原创 CCF CSP认证201812-4 数据中心

201812-4 数据中心题目思路AC代码如下#include<cstdio>#include<queue>#include<vector>#include<algorithm>using namespace std;const int maxn=5e4+1,maxm=1e5+1;const long long inf=1e1...

2019-09-03 22:21:51 290

原创 CCF CSP认证201812-3 CIDR合并

201812-3 CIDR合并题目思路用long long或者unsigned类型来存储ip地址前缀,再用len表示长度。结构体struct cidr{ int len; long long ip;//我担心unsigned出错,用的long long bool operator <(const cidr &c) const{//用来排序的比较函数 ...

2019-09-03 22:17:10 284

原创 CCF CSP认证201812-2 小明放学

201812-2 小明放学题目思路t-sum%T就是k灯还剩多少时间,如果是负值,说明k灯已过,加下一个灯亮的时间就是下个灯还剩的时间,如果是负值就再往下推一个。可以画个图自己理解理解,我懒得画了。详见代码。AC代码如下#include<cstdio>int main(){ int ryg[3],k,n; long long sum=0,t; scanf(...

2019-09-03 21:18:21 317

原创 CCF CSP认证201812-1 小明上学

201812-1 小明上学题目思路略AC代码如下#include<cstdio>int main(){ int r,y,g,n,k,t,sum=0; scanf("%d%d%d%d",&r,&y,&g,&n); while(n--){ scanf("%d%d",&k,&t);//遇到绿灯,什么都不加 ...

2019-09-03 21:06:13 204

原创 C++中与迭代器有关的删除操作带来的一些问题

C++中与迭代器有关的插入、删除操作带来的一些问题今天在写ccf csp认证201812-3CIDR合并这个题的时候,在set容器中进行逆序的插入删除操作,遇到了一些问题。元素删除之后,迭代器会指向哪呢?下一个元素吗?先来看看这段代码#include<set>#include<iostream>using namespace std;int main(){ ...

2019-09-03 20:48:39 550

原创 CCF CSP认证201809-4 再卖菜

201809-4 再卖菜题目思路枚举、dfs暴力求解,80分。代码如下(80分)#include<cstdio>int n,a[305],b[305];bool dfs(int k,int x){ if(x<=0) return false;//每一项都必须为正 b[k]=x; if(k==n){ if((x+b[n-1])/2==a[n]) ...

2019-09-02 20:11:59 226

原创 CCF CSP认证201809-3 元素选择器

201809-3 元素选择器题目思路多级查询需要用到树形结构,详见代码。AC代码如下#include<iostream>#include<string>#include<vector>#include<set>#include<algorithm>using namespace std;struct node{...

2019-09-02 19:49:54 212

原创 CCF CSP认证201809-2 买菜

201809-2 买菜题目思路暴力求解。AC代码如下#include<cstdio>bool flag[1000005]={false};int main(){ int n,a,b,cnt=0; scanf("%d",&n); for(int i=0;i<n+n;i++){ scanf("%d%d",&a,&b); ...

2019-09-02 19:26:40 214

原创 CCF CSP认证201809-1 卖菜

201809-1 卖菜题目思路AC代码如下#include<cstdio>int main(){ int n,a[1005]; scanf("%d",&n); for(int i=0;i<n;i++) scanf("%d",&a[i]); printf("%d ",(a[0]+a[1])/2); for(int i=1;i&...

2019-09-02 19:23:19 222

原创 CCF CSP认证201803-3 URL映射

201803-3 URL映射题目思路代码如下#include<iostream>#include<string>#include<cstring>#include<map>#include<vector>using namespace std;vector<string> vc[200];string ...

2019-09-01 20:55:23 289

原创 CCF CSP认证201803-2 碰撞的小球

01803-2 碰撞的小球题目思路AC代码如下#include<cstdio>#include<cstring>int main(){ int a[105],t,L,n,dir[105],ocup[1005];//ocup数组记录占领各个位置的小球 scanf("%d%d%d",&n,&L,&t); for(int i=1;i...

2019-09-01 20:35:16 175

原创 CCF CSP认证201803-1 跳一跳

201803-1 跳一跳题目思路AC代码如下#include<cstdio>int main(){ int ans=0,pre=1,t; scanf("%d",&t); while(t){ if(t==1){ ans++; pre=1; }else{ ans+=pre*2; pre++; ...

2019-09-01 20:31:31 190

原创 CCF CSP认证201712-4 行车路线

201712-4 行车路线题目思路dijkstra最短路算法,更新两次d[]数组,分别用大道和小道更新,设置一个pre[]数组,pre[i]表示使d[i]最小的路径上i前面的连续小道长度。详见代码代码如下#include<cstdio>#include<algorithm>#include<cstring>#include<vector&...

2019-08-31 14:43:11 344

原创 CCF CSP认证201712-3 Crontab

201712-3 Crontab题目思路日期处理+字符串处理。目前代码最长的一题,太复杂了。详见代码代码如下#include<bits/stdc++.h> using namespace std;struct task{ set<int> cron[5]; string cmd;}tsk[20];struct node{//优先队列存某天的所有任...

2019-08-31 12:09:35 323

原创 CCF CSP认证201712-2 游戏

201712-2 游戏题目思路可以用vector,方便删除,方便判断只有一个人的时候。代码如下#include<cstdio>#include<vector>using namespace std;int main(){ int n,k; scanf("%d%d",&n,&k); vector<int> circul...

2019-08-31 11:17:11 231

原创 CCF CSP认证201712-1 最小差值

201712-1 最小差值题目思路可以开一个bool数组记录有哪些数,也可以把数记下来之后排序。代码如下#include<cstdio>#include<algorithm>using namespace std;int main(){ int n,t,ans=10000; scanf("%d",&n); bool f[10005]={...

2019-08-31 11:13:21 208

原创 CCF CSP认证201709-5 除法

201709-5 除法题目思路少有的好混分的第五题。树状数组貌似有用,待更。30分代码如下#include<cstdio>long long a[100005];int main(){ int n,m; scanf("%d%d",&n,&m); for(int i=1;i<=n;i++) scanf("%d",&a[i...

2019-08-29 22:06:49 370

原创 CCF CSP认证201709-4 通信网络(DFS)

201709-4 通信网络题目思路dfs可解。AC代码如下#include<cstdio>#include<vector>#include<cstring>using namespace std;int n,m;vector<int> g[1005];bool vis[1005],know[1005][1005]={false...

2019-08-29 22:01:30 453

原创 CCF CSP认证201709-3 JOSN查询(字符串处理)

201709-3 JOSN查询题目思路用map<string,string> 存对象的键值对,详见代码。AC代码如下#include<iostream>#include<string>#include<map>using namespace std;map<string,int> index;//存对象的索引map&...

2019-08-29 21:55:06 274

原创 CCF CSP认证201709-2 公共钥匙盒

201709-2 公共钥匙盒题目思路设置两个结构数组,分别表示取钥匙和还钥匙,当然也可以设成一个数组,用flag标识。按时间排序,然后使用双指针扫描两个数组,进行相应操作。数组a[i]表示第i个位置上的钥匙序号,0表示位置为空。AC代码如下#include<cstdio>#include<algorithm>using namespace std;str...

2019-08-29 20:52:15 152

原创 CCF CSP认证201709-1 打酱油

201709-1 打酱油题目思路小学数学题AC代码如下#include<cstdio>int main(){ int n; scanf("%d",&n); n/=10; printf("%d",n/5*7+(n%5)/3*4+n%5%3); return 0;}

2019-08-29 20:39:48 223

原创 CCF CSP认证201703-4 地铁修建(Kruskal最小生成树)

201703-4 地铁修建题目思路这次的第四题比较简单,就是一个Kruskal最小生成树算法,我还一度担心“公司数为n”这块有个坑。题目的要求是,找一条1至n的路径,使这条路径上的最大边在所有1至n路径最大边中最小。因为有n个公司,而1至n的无环路径边数肯定是小于n的,所以不用考虑一个公司修两条路的情况。Kruskal算法可用并查集实现,将所有边按权排序,从小的开始枚举,如果边的两端不...

2019-08-28 19:57:51 327

原创 CCF CSP认证201703-3 Markdown

201703-3 Markdown思路本题要求比较繁琐,但实现的思路不复杂。三种区块的处理方式很类似,其中内容的处理是一样的,可专门写一个change函数。对于区块的开头结尾,可以设置一个flag标志。详见代码。AC代码如下#include<string>#include<iostream>#include<vector>using namesp...

2019-08-28 19:15:50 289

原创 CCF CSP认证201703-2 学生排队

201703-2 学生排队题目思路用vector可以很好地实现插入与删除操作,这回我可学聪明不用数组了。AC代码如下#include<cstdio>#include<vector>using namespace std;int main(){ int n,m; vector<int> vc; scanf("%d",&n);...

2019-08-28 18:53:00 184

原创 CCF CSP认证201703-1 分蛋糕

201703-1 分蛋糕题目思路略AC代码如下//13:40#include<cstdio>int main(){ int n,k,ans=0,t,now=0; scanf("%d%d",&n,&k); while(n--){ scanf("%d",&t); if(now+t>=k) { ans++;...

2019-08-28 18:47:23 209

原创 CCF CSP认证201612-4 压缩编码(动态规划)

201612-4 压缩编码题目思路看了半天明白了是果子合并问题加上只能相邻合并的限制条件。奈何不会dp,只能贪心混分。混分代码就不放了。然后我学习了一下大佬们的dp。有个类似的经典问题,石子合并问题。其状态转移方程:正常递推不优化的话也可以AC,大概2.7s。用四边形不等式优化一下就60+ms了。AC代码如下#include<cstdio>#include<a...

2019-08-27 20:59:17 325

原创 CCF CSP认证201612-3 权限查询

201612-3 权限查询题目思路我这里用 map<string,int> 保存角色的权限,其中string存权限名、int存权限等级(-1表示无等级),用户不用记录其角色,直接将其角色下的权限移至用户的 map<string,int> 下就行。详见代码。AC代码如下#include<string>#include<iostream&gt...

2019-08-27 20:31:54 226

原创 CCF CSP认证201612-2 工资计算

201612-2 工资计算题目思路用几个常数数组先记下各个阶段的税率,临界点。AC代码如下#include<cstdio>int main(){ int s=0,t; int a[7]={0,1500,4500,9000,35000,55000,80000},b[8]={3500}; int tar[8]={0,3,10,20,25,30,35,45};//题...

2019-08-27 20:04:22 157

原创 CCF CSP认证201612-1 中间数

201612-1 中间数题目思路每两个数之间作比较,用数组b记录,大于则减一,小于则加一,最后是0的就是结果。AC代码#include<cstdio>int main(){ int n,a[1005],b[1005]={0}; scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%d",&a[...

2019-08-27 19:55:52 216

原创 CCF CSP认证201609-4 交通规划(最短路径)

201609-4 交通规划思路看完题目很快能想到先用dijkstra算法把最短路径求出来,可是求出来之后该怎么处理呢?最短路径组成的子图上再求一下最小生成树?我用kruskal算法求的时候感觉到了不对劲,最短路径子图如果当成无向图来处理就不能保证每个点的最短路了,所以它是个有向图。随后我尝试着用dfs搜解,也不顺利。于是我把样例那个图画出来研究了一番,终于,我意识到了问题的本质!最短...

2019-08-26 20:30:02 552

原创 CCF CSP认证201609-3 炉石传说(模拟)

201609-3 炉石传说题目思路此题采用vector很方便,因为有很多插入删除操作,可千万不要像我一样用纯数组。我刚开始没有弄清楚编号的处理,就急于开了两个数组,这样的话插入删除都需要自己实现,就容易出错。注意不要把英雄像删随从一样删掉了!英雄和随从死亡的判定是生命值h<=0。AC代码如下在这里插入代码片...

2019-08-26 19:50:25 281

原创 CCF CSP认证201609-2 火车购票

201609-2 火车购票题目思路开一个sold[20]数组,记录每一排卖出的座位数,而卖出的票一定是从小号开始,所以具体几号票还在也确定了。AC代码如下#include<cstdio>#include<cstring>int main(){ int n,p,sold[20]; scanf("%d",&n); memset(sold,0,s...

2019-08-26 19:25:51 160

原创 CCF CSP认证201609-1 最大波动

201609-1 最大波动题目思路略AC代码如下#include<cstdio>#include<algorithm>using namespace std;int main(){ int n,t,pre,ans=0; scanf("%d%d",&n,&pre); for(int i=0;i<n-1;i++){ s...

2019-08-26 19:14:42 184

原创 CCF CSP认证201604-4 游戏(BFS)

201604-4 游戏思路这道题用bfs可解,由于点是可以重复访问的,不加限制的话很容易超时。我刚开始想到用优先队列让离终点近的点优先访问,然而会得出错误解,只有20分。(其实我早就意识到会算错,但我没其他方法优化bfs了,就只能这样子混分喽,不过我没想到才20分。事后想想这样子优化根本就不可靠,还不如暴力bfs信得过。)空间上的重复访问限制不了,其实我们可以限制其在时间上的重复访问,设一...

2019-08-25 21:15:40 310

原创 CCF CSP认证201604-3 路径解析

201604-3 路径解析题目思路半天没理解清楚".“以及”…"的含义,思路混乱的我写了一堆if混了60分。然后我在网上看了大佬的解释,代码AC了看着也还是有点乱,暂时懒得整理了。AC代码如下#include<iostream>#include<string>#include<vector>#include<stack>using...

2019-08-25 20:53:20 301

空空如也

空空如也

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

TA关注的人

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