这次csp是100+100+100+20+20的操作,第一题不说了,第二题感觉是数据水了?,它的c到了2e5,n也有1e5他的第四题和第五题全部暴力,两个嵌套之后没有竟然没有ETL!!!出题人数据善良了,第三题我是留在最后写的,写了快俩小时,一直if else,嵌套了六个,提交的时候觉得没啥希望了结果100!!!我震了个大惊,一会附上代码供大家恶心一下(实在是太长了,但并不复杂就是不停的复制粘贴),我设了三个数组分别是jisuan[N],keyong[N],yingyong[N];,jisuan[N]表示计算节点i里包括的应用编号,keyong[N]表示可用区i包括的计算节点,yingyong[N]表示应用编号i包括的计算节点,还需注意的是应用编号达到了1e9,开数组不好开,所以把它映射了。第四题和第五题就是纯暴力,第四题写的自己强迫症都犯了,全是最麻烦的搜索但又无力更改,第五题就写了一种情况小 z 先手且为偶数的时候,这种情况就是小z每次合并最中间的两堆,小c扔两边的石子。

最后的最后祝dby~后天的csp考试中拿到高分上400~~~(梦想还是要有的,万一实现了呢),求求csp爱我一次吧~~~

代码如下:

#include <bits/stdc++.h>using namespace std;#define ll long longconst int N=1e5+10;
int flag[N];
int n,k,ans;
int main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);cin>>n>>k;flag[0]=1;while(k--){int x,y;cin>>x>>y;if(!flag[y])ans++;flag[x]=1;}cout<<ans;return 0;
}

出行计划

#include <bits/stdc++.h>using namespace std;const int N=4e5+10;int t[N],c[N],b[N];
int n,m,k,q;
int main()
{cin>>n>>m>>k;for(int i=1;i<=n;i++) cin>>t[i]>>c[i];for(int i=1;i<=n;i++){for(int j=max(0,t[i]-c[i])+1;j<=t[i];j++) b[j]++;}while(m--){cin>>q;cout<<b[q+k]<<endl;}return 0;
}

计算资源调度器

#include <bits/stdc++.h>using namespace std;
const int N=4e3+10;
unordered_map<int,int>mp;vector<int>jisuan[N],keyong[N],yingyong[N];
vector<int>shai;
int id[N];
int n,m,cnt,f,a,na,pa,paa,paar;bool cmp(int a1,int a2)
{if(jisuan[a1].size()==jisuan[a2].size())return a1<a2;return jisuan[a1].size()<jisuan[a2].size();
}
void func1(vector<int> ans)
{if(ans.size()==0)cout<<0<<" ";else{sort(ans.begin(),ans.end(),cmp);cout<<ans[0]<<" ";int idd=mp[a];yingyong[idd].push_back(ans[0]);jisuan[ans[0]].push_back(idd);}
}void func()
{shai.clear();int tem[n+1]={0};int flag=0;if(na)//否则表示要运行在编号为na的可用区内的计算节点上;{for(int i=0;i<keyong[na].size();i++){tem[keyong[na][i]]=1;}if(pa)//必须和编号为 pa的应用的计算任务在同一个可用区运行;{int idd=mp[pa];for(int i=0;i<yingyong[idd].size();i++){if(id[yingyong[idd][i]]==na){flag=1;break;}}if(!flag){func1(shai);return;}if(paa)//不能和编号为paa的应用的计算任务在同一个计算节点上运行;{int idd1=mp[paa];for(int i=0;i<yingyong[idd1].size();i++){if(tem[yingyong[idd1][i]])tem[yingyong[idd1][i]]=-1;}for(int i=1;i<=n;i++){if(tem[i]==1)shai.push_back(i);}if(shai.size()){func1(shai);}else{if(paar)//必须满足{func1(shai);}else{for(int i=1;i<=n;i++){if(tem[i])shai.push_back(i);}func1(shai);}}}else{for(int i=1;i<=n;i++){if(tem[i]==1)shai.push_back(i);}func1(shai);}}else//必须和编号为 pa的应用的计算任务在同一个可用区运行;{if(paa)//不能和编号为paa的应用的计算任务在同一个计算节点上运行;{int idd1=mp[paa];for(int i=0;i<yingyong[idd1].size();i++){if(tem[yingyong[idd1][i]]) tem[yingyong[idd1][i]]=-1;}for(int i=1;i<=n;i++){if(tem[i]==1)shai.push_back(i);}if(shai.size()){func1(shai);}else{if(paar)//必须满足{func1(shai);}else{for(int i=1;i<=n;i++){if(tem[i])shai.push_back(i);}func1(shai);}}}else{for(int i=1;i<=n;i++){if(tem[i]==1)shai.push_back(i);}func1(shai);}}}else//否则表示要运行在编号为na的可用区内的计算节点上;{if(pa){int idd=mp[pa];int temm1[m+1]={0};for(int i=0;i<yingyong[idd].size();i++){temm1[id[yingyong[idd][i]]]=1;}for(int i=1;i<=m;i++){if(!temm1[i])continue;for(int j=0;j<keyong[i].size();j++)tem[keyong[i][j]]=1;}if(paa){int idd1=mp[paa];for(int i=0;i<yingyong[idd1].size();i++){if(tem[yingyong[idd1][i]])tem[yingyong[idd1][i]]=-1;}for(int i=1;i<=n;i++){if(tem[i]==1)shai.push_back(i);}if(shai.size()){func1(shai);}else{if(paar)//必须满足{func1(shai);}else{for(int i=1;i<=n;i++){if(tem[i])shai.push_back(i);}func1(shai);}}}else{for(int i=1;i<=n;i++){if(tem[i]==1)shai.push_back(i);}func1(shai);}}else{for(int i=1;i<=n;i++)tem[i]=1;if(paa){int idd1=mp[paa];for(int i=0;i<yingyong[idd1].size();i++){if(tem[yingyong[idd1][i]])tem[yingyong[idd1][i]]=-1;}for(int i=1;i<=n;i++){if(tem[i]==1)shai.push_back(i);}if(shai.size()){func1(shai);}else{if(paar)//必须满足{func1(shai);}else{for(int i=1;i<=n;i++){if(tem[i])shai.push_back(i);}func1(shai);}}}else{for(int i=1;i<=n;i++){if(tem[i]==1)shai.push_back(i);}func1(shai);}}}
}
void funcc()
{if(!mp[a])mp[a]=++cnt;while(f--) func();cout<<endl;
}
int main()
{cin>>n>>m;for(int i=1;i<=n;i++){int li;cin>>li;keyong[li].push_back(i);id[i]=li;}int g;cin>>g;while(g--){cin>>f>>a>>na>>pa>>paa>>paar;funcc();}return 0;
}

通信系统管理

#include <bits/stdc++.h>using namespace std;
typedef pair<int,int>PII;
const int N=1e5+10;
struct node{int v,y;long long x;
};
long long tongxun[N];
queue<node>q[N];
int n,m,k,l,pp,qq;int check(int time,int u)
{queue<node>tem;int id=0;long long maxx=-1;long long d[n+1]={0};while(q[u].size()){node te=q[u].front();q[u].pop();if(te.y<time)continue;d[te.v]+=te.x;tem.push(te);if(d[te.v]>maxx)maxx=d[te.v],id=te.v;else if(d[te.v]==maxx&&id>te.v)id=te.v;}while(tem.size()){node te=tem.front();tem.pop();q[u].push(te);}tongxun[u]=id;return id;
}
void checkp(int time)
{int ans=0;queue<node>tem;for(int i=1;i<=n;i++){if(!q[i].size()){ans++;continue;}while(q[i].size()){node te=q[i].front();q[i].pop();if(te.y<time)continue;tem.push(te);}if(!tem.size())ans++;while(tem.size()){node te=tem.front();tem.pop();q[i].push(te);}}cout<<ans<<endl;
}void checkq(int time)
{int ans=0;int d[N];for(int i=1;i<=n;i++){if(tongxun[i])d[i]=tongxun[i];else d[i]=check(time,i);}for(int i=1;i<=n;i++){int temm=d[i];if(d[temm]==i) ans++;}cout<<ans/2<<endl;
}
int main()
{cin>>n>>m;for(int i=1;i<=m;i++){memset(tongxun,0,sizeof tongxun);cin>>k;while(k--){int u,v,x,y;cin>>u>>v>>x>>y;q[u].push({v,i+y-1,x});q[v].push({u,i+y-1,x});}cin>>l;while(l--){int li;cin>>li;cout<<check(i,li)<<endl;}cin>>pp>>qq;if(pp)checkp(i);if(qq)checkq(i);}return 0;
}

博弈论与石子合并

#include <iostream>using namespace std;
const int N=1e5+10;
int n,k;
int a[N],s[N];
int main()
{cin>>n>>k;for(int i=1;i<=n;i++){cin>>a[i];s[i]=s[i-1]+a[i];}int minn=1e9;for(int i=1;i<=n/2;i++){int r=i+n/2;minn=min(minn,s[r]-s[i-1]);}cout<<minn;return 0;
}

ccf-csp202203相关推荐

  1. CCF CSP 201609-2 火车购票

    题目链接:http://118.190.20.162/view.page?gpid=T46 问题描述 请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配. 假设一节车厢有20排.每一排 ...

  2. ccf Markdown

    说实话,这种题如果给我返回结果我是一定可以写出来的但是ccf不返回结果很烦,这种题我根本不能一次写对.还有重写时发现好多考试之前根本没注意到的点比如删掉空行 .......=_= #include&l ...

  3. I'm stuck! ccf模拟题。

    ccf模拟题. I'm stuck! 时间限制: 1.0s 内存限制: 256.0MB 问题描述 给定一个R行C列的地图,地图的每一个方格可能是'#', '+', '-', '|', '.', 'S' ...

  4. 计算机协会成立活动简报,“中国计算机学会CCF走进高校”活动在我校举行

    校新闻中心讯 9月13日下午,由中国计算机学会(CCF)主办的"CCF走进河南科技大学"活动在工科二号楼610举行.副校长魏世忠教授出席活动并致辞.长江学者.国家杰出青年基金获得者 ...

  5. 绿盟科技与CCF成立“鲲鹏”科研基金 计划发力5大领域资助16个项目

    [51CTO.com原创稿件]2017年5月10日,由中国计算机学会(CCF)和北京神州绿盟信息安全科技股份有限公司(以下简称:绿盟科技)主办的2017 CCF-绿盟科技"鲲鹏"科 ...

  6. WC2018 CCF程序设计教学比赛记事

    WC2018   d5 教师比赛日  亦或者称之为以"递归"为主题的同课异构课程(25节课 有8节讲递归) 发现强省或者弱省中名校派出的选手还是非常优秀的,这种优秀,从他的教态.自 ...

  7. 徐韬:CCF - 个贷违约预测Baseline

    徐韬是华北电力大学数理系大四的学生,Datawhale成员/Dreamtech成员,参加了多期Datawhale的组队学习,也在天池/CCF/讯飞等比赛中取得了不错的成绩,现保送大连理工大学软件学院深 ...

  8. 赴约北大,2019 CCF大数据与计算智能大赛正式启动

    8月17日,以"数据驱动,智创未来"为主题的2019 CCF大数据与计算智能大赛(2019 CCF BDCI)全球启动仪式,在北京大学英杰交流中心·阳光厅正式启幕.自2013年创办 ...

  9. CCF推荐系统项目代码解读!

    Datawhale干货 作者:阿水,北京航空航天大学,Datawhale成员 本文以CCF大数据与计算智能大赛(CCF BDCI)图书推荐系统竞赛为实践背景,使用Paddle构建用户与图书的打分模型, ...

  10. 相机居然能存储气味,未来智能家居会是什么样? | CCF C³

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 晓查 发自 凹非寺  量子位 报道 | 公众号 QbitAI 智能音 ...

最新文章

  1. TortoiseGit配置密钥的方法
  2. 查看Android API文档的正确方式
  3. qcom Android Camera【转】
  4. python 文字语音朗读-怎么用 Python 来朗读网页 ?
  5. win2003服务器定时自动重启命令[计划任务]
  6. IBastis配置实例
  7. mysql数据库密码为空_注意MySQL数据库用户root密码为空
  8. 跳槽和求职 ,10条掏心建议
  9. java 连等_java并发之LBQ和ABQ(1)
  10. 图像风格转换V3算法
  11. hadoop 批流处理的实现_从T+1到T+0,浅谈PetaBase的实时流式处理
  12. 【Docker 命令】- images命令
  13. 路由到另外一个页面_如何在多个页面中,引入一个公共组件
  14. android 多个模块,Android Studio:多个模块的多个APK
  15. Sun Solaris Sybae客户端”安装”日记
  16. glibc之pthread_mutex_t/pthread_cond_t实现原理(十七)
  17. 断网重启路由器就好_每天都要重启路由器?难怪WIFI越用越慢,宽带师傅透露其中窍门...
  18. js操作多选框checkBox
  19. Tomcat找不到Controller里面的路径
  20. C语言数据结构之顺序队列

热门文章

  1. android 仿qq修改头像,Qt:小项目仿QQ修改头像界面,技术点记录
  2. 简单两步找回忘记的WiFi密码
  3. Fast Planner——KinodynamicAstar::estimateHeuristic()中一元三次方程和一元四次方程求解
  4. 异步请求动态加载页面
  5. 【技巧】Excel单元格中添加进度条
  6. 直播间源码,通过Redis实现数据缓存
  7. 时钟集成电路 Aip8563 MSOP8 简介
  8. 现代软件工程第三次作业-自我评价的改进
  9. 配播战略投资中视云媒1000万
  10. linux下安装python3报错_linux安装python3