第27次CCF-CSP计算机软件能力认证(2022-09-18)

这篇具有很好参考价值的文章主要介绍了第27次CCF-CSP计算机软件能力认证(2022-09-18)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

个人感想:算是完成了自己期望的目标300分吧,比之前进步了。第一题花了十五分钟,有十多分钟都是在看题。第二题01背包花了半个小时,太久没看动态规划了模板都忘得差不多。第三题的大模拟依旧有难度,写完的时候离比赛结束还剩一个小时。第四题大概看了一下应该是线段树,但是比线段树难,需要维护的数值有两个,线段树应该只能做一个,然后没去研究,暴力应该能拿点分的但是也做不动了(腰还给扭了QAQ)。

一、如此编码

ccf csp认证,CSP,c++,STL,动态规划,算法,c++
ccf csp认证,CSP,c++,STL,动态规划,算法,c++ccf csp认证,CSP,c++,STL,动态规划,算法,c++

解题思路:给出a数组求b数组,c数组为a数组前缀和。
可以看出b[i]*c[i-1]=m%c[i]-m%c[i-1]

#include<bits/stdc++.h>
using namespace std;
int n,m,a[30],b[30],c[30];
int main()
{
	c[0]=1;
	cin>>n>>m;
	for(int i=1;i<=n;i++)cin>>a[i];
	for(int i=1;i<=n;i++)c[i]=c[i-1]*a[i];
	for(int i=1;i<=n;i++)b[i]=(m%c[i]-m%c[i-1])/c[i-1];
	for(int i=1;i<=n;i++)cout<<b[i]<<" ";
	return 0;	
} 

二、何以包邮

ccf csp认证,CSP,c++,STL,动态规划,算法,c++ccf csp认证,CSP,c++,STL,动态规划,算法,c++

解题思路:01背包,从m开始遍历就好了,最高位pre,也就是所有价值相加。

#include<bits/stdc++.h>
using namespace std;
int n,x,a[50],dp[300050],pre;//dp数组容量1e4*30组 
int main()
{
	dp[0]=1;
	cin>>n>>x;
	for(int i=0;i<n;i++)cin>>a[i],pre+=a[i];//pre最大容量 
	for(int i=0;i<n;i++)
	{
		for(int j=pre;j>=a[i];j--)
		{
			dp[j]=max(dp[j],dp[j-a[i]]+a[i]);//01背包 
		}
	}
	for(int i=x;i<=pre;i++)
	{
		if(dp[i]>=x)
		{
			cout<<i<<endl;
			break;
		}
	}
	return 0;
}

三、防疫大数据

ccf csp认证,CSP,c++,STL,动态规划,算法,c++ccf csp认证,CSP,c++,STL,动态规划,算法,c++ccf csp认证,CSP,c++,STL,动态规划,算法,c++
ccf csp认证,CSP,c++,STL,动态规划,算法,c++

解题思路:关键其实在于存储的方式,set的存储可以自动从小到大排序并且可以去重(题目中有重复数据),听说有另一种解法是存储更新风险地区左右边界的,但是我没去尝试。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
set<ll>sd[1050],su;//sd存储第i天风险地区,su风险人员名单 
struct node{
	ll d,u,r;
}a;
vector<node>v[1050];
ll n,ri,mi,d,u,r,pi;
int main()
{
	cin>>n;
	for(int i=0;i<n;i++)
	{
		cin>>ri>>mi;
		for(int j=1;j<=ri;j++)
		{
			cin>>pi;
			for(int j=i;j<i+7;j++)sd[j].insert(pi);//第j天插入风险地区pi 
		}
		for(int j=1;j<=mi;j++)
		{
			cin>>d>>u>>r;
			if(d<0)continue;//天数为负数必不可能高风险 
			if(!sd[d].count(r))continue;//r地区在第d天不是风险地区 
			a.d=d;
			a.u=u;
			a.r=r;
			v[i].push_back(a);//将记录第i天的第j个表格
		}
		for(int j=max(0,i-6);j<=i;j++)//从i-6天前开始遍历mi表,如果是七天前的信息就不需要隔离了(i-6) 
		{//最小从第0天开始 
			for(int k=0;k<v[j].size();k++)//遍历第j天的表 
			{
				a.d=v[j][k].d;
				a.u=v[j][k].u;
				a.r=v[j][k].r;
				if(a.d<=i-7)continue;//表内信息超过七天 
				bool flag=1;
				for(int l=a.d;l<=i;l++)
					flag&=sd[l].count(a.r);//确保一直为风险地区不间断 
				if(flag)//满足条件就隔离 
					su.insert(a.u);
			}
		}
		cout<<i;
		set<ll>::iterator it;
		for(it=su.begin();it!=su.end();it++)cout<<" "<<*it;
		cout<<endl;
		su.clear();
	}
	return 0;
}

四、吉祥物投票

写不动-_-了,第一眼看着像线段树。文章来源地址https://www.toymoban.com/news/detail-699516.html

到了这里,关于第27次CCF-CSP计算机软件能力认证(2022-09-18)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 第31次CCF计算机软件能力认证

    100+100+100+100+60=460 给定 (n) 个操作,每个操作将坐标 ((x,y)) 变为 ((x + dx, y + dy)) 。 给定 (m) 个点,问这 (m) 个点经过这 (n) 次操作变换后的坐标。 注意到操作是可合并的,因此可以先将这 (n) 个操作合并成一个操作,然后对每个点都经过这个操作变换即可,时间复杂度

    2024年02月08日
    浏览(22)
  • 第30次CCF计算机软件能力认证

    100+100+100+80+100=480 依次给定 (n) 个国际象棋局面,依次回答每个局面是第几次出现。 拿 map 记录下每个局面,统计计数即可。 神奇的代码 给定 (n times d) 的矩阵 (q, k, v) ,一个 (n) 维向量 (w) ,计算 ((w cdot (q times k^{T})) times v) 的结果。 (n leq 10^4, d leq 20) (q times k

    2024年02月06日
    浏览(23)
  • 第22次CCF计算机软件能力认证

    第一题:灰度直方图 解题思路: 哈希表即可 第二题:邻域均值  解题思路: 二维前缀和 第三题:DHCP服务器 解题思路: 认真读题,题目描述的非常清楚更具题目进行求解即可, 第四题:校门外的树 解题思路: dp问题 设 f[i] 为用了前 i 个障碍点的所有方案 f[i]=(f[0]∗cnt1+

    2024年02月12日
    浏览(21)
  • CCF-CSP认证 202303 500分题解

    202303-1 田地丈量(矩形面积交) 矩形面积交=x轴线段交长度*y轴线段交长度 线段交长度,相交的时候是min右端点-max左端点,不相交的时候是0 202303-2 垦田计划(二分) 二分最终答案x(x=k),判断降到x天资源是否够 够的话就往小里二分,否则往大里二分, 当然贪心也可以做

    2023年04月18日
    浏览(26)
  • CCF-CSP 26次 第三题【角色授权】

    计算机软件能力认证考试系统 20分: 100分: 需要注意提速之后,scanf与cin不能同时用

    2024年02月10日
    浏览(24)
  • CCF-CSP 30次 第二题【矩阵运算】

    计算机软件能力认证考试系统   

    2024年02月10日
    浏览(29)
  • CCF-CSP 30次 第四题【电力网络】

    20分,六重循环看不懂 计算机软件能力认证考试系统

    2024年02月09日
    浏览(29)
  • CCF-CSP 29次 第五题【202303-5 施肥】

    计算机软件能力认证考试系统 题解(35分): 枚举每个区间,再枚举每个施肥车,看所有的施肥车能不能把这个区间填满

    2024年02月10日
    浏览(66)
  • CCF-CSP历年真题大全附题解(202303已更)

             各位朋友,历年的题目你们要是有不同的解法想和大家进行分享的,可以私聊我发我题目编号和代码,我也可以更新到文章中,给需要的朋友多点参考~~           CCF-CSP真题拿来练手,持续更新,CCF-CSP真题拿来练手,如果对自己没有拿高分的期望的话,可以就

    2024年02月01日
    浏览(68)
  • CCF-CSP历年真题大全附题解(202309已更)

             各位朋友,历年的题目你们要是有不同的解法想和大家进行分享的,可以私聊我发我题目编号和代码,我也可以更新到文章中,给需要的朋友多点参考~~           CCF-CSP真题拿来练手,持续更新,CCF-CSP真题拿来练手,如果对自己没有拿高分的期望的话,可以就

    2024年02月07日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包