ccf_csp第一题汇总
ccf_csp第一题汇总
- printf()输出格式大全(附 - 示例代码)
- 现值计算
- AcWing 4699. 如此编码
- AcWing 4509. 归一化处理(小数位数+根号函数)
- AcWing 4454. 未初始化警告
- AcWing 4280. 序列查询
- AcWing 4006. 数组推导(小陷阱)
- AcWing 3292. 称检测点查询
- AcWing 3287. 线性分类器(直线有关)
- AcWing 3282. 报数
- AcWing 3277. 小明种苹果
- AcWing 3272. 小中大(小数位数)
- AcWing 3257. 跳一跳
- 打酱油(贪心算法)
- AcWing 1216. 饮料换购(数学推理)
- AcWing1219.移动距离
- AcWing 3242. 分蛋糕---双指针---看
- AcWing 3237. 中间数---看
- AcWing 3217. 数列分段
- AcWing 3197.相反数
abs(num)返回整型的绝对值
fabs(num)返回双精度的绝对值
exp(x)返回指数函数ex的值
pow(x, y)返回x^y的值
sqrt(x)返回√x的值
printf()输出格式大全(附 - 示例代码)
printf()输出格式大全(附 - 示例代码)
现值计算
#include<bits/stdc++.h>
using namespace std;double ans;int main()
{int n;double i;cin>>n>>i;for(int j=0;j<=n;j++){int x;cin>>x;ans+=x*pow((1+i),-j);}cout<<ans<<endl;return 0;}
AcWing 4699. 如此编码
AcWing 4699. 如此编码
#include<bits/stdc++.h>
using namespace std;
const int N = 22;int main()
{int n,m;int a[N];cin>>n>>m;for(int i=1;i<=n;i++) cin>>a[i];for(int i=1;i<=n;i++){cout<<m%a[i]<<" ";m/=a[i];}return 0;
}
AcWing 4509. 归一化处理(小数位数+根号函数)
AcWing 4509. 归一化处理
#include<bits/stdc++.h>
using namespace std;
const int N = 1010;int n;
double w[N];int main()
{cin>>n;double sum=0;for (int i=0;i<n;i++){cin>>w[i];sum+=w[i];}double avg=sum/n;//平均值 double d=0;for (int i=0;i<n;i++)d+=pow((w[i]-avg),2)/n;d=sqrt(d);//标准差 for (int i=0;i<n;i++)printf("%.16lf\n", (w[i]-avg)/d);//归一化后 return 0;
}
AcWing 4454. 未初始化警告
AcWing 4454. 未初始化警告
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int n;
int k;
bool st[N];//a[k]记录第k个下标是否使用过
int x,y;
int ans=0;//记录个数,用于输出
int main()
{cin>>n>>k;for(int i=0;i<=n;i++) st[i]=false;st[0]=true;//常量---默认赋过值 for(int i=0;i<k;i++){cin>>x>>y;if(!st[y]) ans++;st[x]=true;//将左值标记为赋值过}cout<<ans<<endl;return 0;}
AcWing 4280. 序列查询
AcWing 4280. 序列查询
#include<bits/stdc++.h>
using namespace std;
const int N=1e7+10;
int n,m;
int a[N];
int ans;
int main()
{cin>>n>>m;for(int i=1;i<=n;i++) cin>>a[i];a[n+1]=m;//初始 a[0]=0,a[n+1]=m;nb for(int i=0;i<=n;i++)ans+=(a[i+1]-a[i])*i;//计算f[a]cout<<ans<<endl;return 0;}
AcWing 4006. 数组推导(小陷阱)
AcWing 4006. 数组推导
#include<bits/stdc++.h>
using namespace std;
const int N=1e2+10;
int b[N];
int main()
{int n;cin>>n;for(int i=0;i<n;i++) cin>>b[i];int maxs=0,mins=0;//存储sum的最大值和最小值 for(int i=0;i<n;i++){maxs+=b[i];//最大值时 a[i]==b[i] if(!i||b[i]>b[i-1])//当b[i]是拐点时 必须选上 mins+=b[i];}cout<<maxs<<endl<<mins<<endl;return 0; }
AcWing 3292. 称检测点查询
AcWing 3292. 称检测点查询
题目需要首先按照距离排序,再按照编号排序
采用pair类型,将first设置为距离,second设置为编号
调用sort函数进行排序(sort对pair排序先排first,再排second)
存储距离时,不按照样例存储开根号的值,直接存储平方
#include<bits/stdc++.h>
using namespace std;const int N=200+10;
typedef pair<int,int> PII;
PII node[N];
int X,Y;
int n;int main()
{cin>>n>>X>>Y;for(int i=0;i<n;i++){int x,y;cin>>x>>y;node[i].first=(X-x)*(X-x)+(Y-y)*(Y-y);//比较距离--不需要开根号node[i].second=i;}sort(node,node+n);for(int i=0;i<3;i++){cout<<node[i].second+1<<endl;}return 0;}
AcWing 3287. 线性分类器(直线有关)
AcWing 3287. 线性分类器
用结构体存储点的信息,sumA记录类型A的点的个数,sumB记录类型B的点的个数
通过比较在直线一侧各种类型点的数量和sumA、sumB,当一侧全为A类型或者B类型时,满足分类条件
由于一个点只能位于直线的一侧,因此我们仅选取直线的上侧进行计数,即满足c+a*node[j].x+b*node[j].y>0
#include<bits/stdc++.h>
using namespace std;const int N=1e3+10;
typedef long long LL;//所有的坐标和参数的绝对值最大为106,参数与坐标相乘后为1012,因此采用long long 数据类型
LL n,m;
int sum_A=0;
int sum_B=0;
struct {LL x;LL y;char type;
}node[N]; int main()
{cin>>n>>m;for(LL i=0;i<n;i++){LL x,y;char type;cin>>x>>y>>type;node[i].x=x;node[i].y=y;node[i].type=type;if(type=='A')sum_A++; elsesum_B++;} for(LL i=0;i<m;i++){LL a,b,c;cin>>a>>b>>c;LL sum_A_UP=0;//A类型在直线上方的个数 LL sum_B_UP=0;//B类型在直线上方的个数 for(LL j=0;j<n;j++){if(a+b*node[j].x+c*node[j].y>0&&node[j].type=='A')//统计A类型在直线上方的个数 sum_A_UP++;if(a+b*node[j].x+c*node[j].y>0&&node[j].type=='B')//统计B类型在直线上方的个数sum_B_UP++;}//A类型全部在直线上方且B类型全在直线下方 --- B类型全部在直线上方且A类型全在直线下方if((sum_A==sum_A_UP&&sum_B_UP==0) || (sum_B==sum_B_UP&&sum_A_UP==0))cout<<"Yes"<<endl;elsecout<<"No"<<endl;}return 0;
}
AcWing 3282. 报数
AcWing 3282. 报数
#include<bits/stdc++.h>
using namespace std;int res[4];//存储丁(0)--甲(1)--乙(2)--丙(3)----跳过的个数
int main()
{int n;//记录一共要数几个数 cin>>n; int i=1;//轮流报数---且---遍历-甲-乙-丙-丁 while(n){if(i%7==0 || to_string(i).find('7')!=-1)//被跳过时 res[i%4]++;else//没被跳过时---数数了 n--;i++;//报数 }for(int i=1;i<4;i++) cout<<res[i]<<endl;cout<<res[0]<<endl;return 0;}
AcWing 3277. 小明种苹果
AcWing 3277. 小明种苹果
#include<bits/stdc++.h>
using namespace std;
int n,m;
int main()
{cin>>n>>m;int T=0,K=0,P=-1;for(int i=1;i<=n;i++)//---n棵苹果树 {int total=0;//某棵苹果树上的苹果总数int sum=0;//某棵苹果树上的梳果总数cin>>total;for(int j=0;j<m;j++)//---m次操作 {int x;cin>>x;sum+=abs(x);}T+=total-sum;if(sum>P)//如果此次梳果最多---更新 K=i,P=sum; }cout<<T<<" "<<K<<" "<<P<<endl;return 0;}
AcWing 3272. 小中大(小数位数)
AcWing 3272. 小中大
#include<bits/stdc++.h>
using namespace std;
const int N = 100010;
int n;
int q[N];int main()
{scanf("%d", &n);for (int i = 0; i < n; i ++ ) scanf("%d", &q[i]);int res[3];//存储---小 中 大 res[0] = q[0] * 2, res[1] = q[n - 1] * 2;if (n % 2) res[2] = q[n / 2] * 2;else res[2] = q[n / 2 - 1] + q[n / 2];sort(res, res + 3);//从小到大排序 for (int i = 2; i >= 0; i -- )if (res[i] % 2) printf("%.1lf ", res[i] / 2.0);//中位数---小数 else printf("%d ", res[i] / 2);return 0;
}
AcWing 3257. 跳一跳
AcWing 3257. 跳一跳
#include<bits/stdc++.h>
using namespace std;int main()
{int x;int ans=0; //最终答案 int score=0; //当前得分 while(cin>>x,x) //只要输入≠0,就可以一直输入{if(x==1) //当没有跳到中心时 {ans+=1;score=0; //等差数列清空 } else //当跳到中心时,得分是一个等差数列{score+=2; ans+=score; } } cout<<ans<<endl;return 0;
}
打酱油(贪心算法)
思路:(贪心算法)
1.尽可能多的选择买5瓶送2两瓶的方式,然后再选择买3瓶送1瓶,最后才选择10块钱1瓶的方式
#include<bits/stdc++.h>
using namespace std;
const int N=400;int n;
int main()
{int fifty;int thirty;int ten;cin>>n;fifty=n/50;thirty=(n-fifty*50)/30;ten=(n-fifty*50-30*thirty)/10;cout<<7*fifty+4*thirty+ten<<endl;return 0;
}
AcWing 1216. 饮料换购(数学推理)
共喝饮料数res,当前瓶盖数 n赋值给n,且res=n一直循环直到瓶盖n<3,每次res += n / 3,n变成了新的饮料/3加上剩下的n%3
#include<bits/stdc++.h>
using namespace std;int main()
{int n; cin>>n;//初始买入的饮料数==初始的饮料瓶盖数 int res=n;//一共能喝的饮料数 while(n>=3){res+=n/3;//可以换购到的第一批饮料数 n=n%3+n/3; //n%3 上次没换完的瓶盖数 n/3新得到的瓶盖数 }cout<<res<<endl;return 0;
}
AcWing1219.移动距离
AcWing1219.移动距离
#include<iostream>
using namespace std;
int main()
{int w,m,n;cin>>w>>m>>n;m--,n--;//序号从0开始,方便计算行号和列号int x1=m/w,x2=n/w;//行号 int y1=m%w,y2=n%w;//求列号if(x1%2==0)//当位于偶数行时 y1=w-y1-1;//求列号if(x2%2==0)//当位于偶数行时 y2=w-y2-1;//求列号//曼哈顿距离 cout<<abs(x1-x2)+abs(y1-y2)<<endl;return 0; }
AcWing 3242. 分蛋糕—双指针—看
AcWing 3242. 分蛋糕
#include<bits/stdc++.h>
using namespace std;
const int N=1e3+10;
int a[N];
int ans;
int main()
{int n,k;cin>>n>>k;for(int i=1;i<=n;i++) cin>>a[i];for(int i=1;i<=n;i++)//双指针算法 {int j=i,sum=0;while(j<=n && sum<k)sum+=a[j++];ans++; //最后一个即是不够,ans也会++ i=j-1; //当前第j-1个蛋糕已经被使用了,循环外还有个i++; }cout<<ans<<endl; return 0;
}
AcWing 3237. 中间数—看
AcWing 3237. 中间数
#include <iostream>
#include <cstring>
#include <algorithm>using namespace std;const int N = 1010;int n;
int q[N];int main()
{cin >> n;for (int i = 0; i < n; i ++ ) cin >> q[i];for (int i = 0; i < n; i ++ ){int d = 0, u = 0;for (int j = 0; j < n; j ++ )if (q[j] < q[i]) d ++ ;else if (q[j] > q[i]) u ++ ;if (u == d){cout << q[i] << endl;return 0;}}puts("-1");return 0;
}
AcWing 3217. 数列分段
AcWing 3217. 数列分段
#include<bits/stdc++.h>
using namespace std;const int N=1e3+10;int n;
int a[N];int main()
{cin>>n;int ans=1;for(int i=0;i<n;i++){cin>>a[i];}for(int i=1;i<n;i++){if(a[i-1]!=a[i])ans++;}cout<<ans<<endl;return 0;}
#include<bits/stdc++.h>
using namespace std;
const int N = 1e3+10;
int n;
int a[1001];
int main()
{cin>>n;for(int i=0;i<n;i++)cin>>a[i];cout<<unique(a,a+n)-a;return 0;}
AcWing 3197.相反数
AcWing 3197.相反数
#include<bits/stdc++.h>
using namespace std;
const int N=1e3+10;int n;
int cnt[N];
int main()
{cin>>n;while(n--){int x;cin>>x;cnt[abs(x)]++;}int ans=0;for(int i=0;i<N;i++){if(cnt[i]==2)ans++;}cout<<ans<<endl;}
相关文章:

ccf_csp第一题汇总
ccf_csp第一题汇总 printf()输出格式大全(附 - 示例代码)现值计算AcWing 4699. 如此编码AcWing 4509. 归一化处理(小数位数根号函数)AcWing 4454. 未初始化警告AcWing 4280. 序列查询AcWing 4006. 数组推导(小陷阱)AcWing 3292. 称检测点查询AcWing 3287…...

uniapp 实现下拉筛选框 二次开发定制
前言 最近又收到了一个需求,需要在uniapp 小程序上做一个下拉筛选框,然后找了一下插件市场,确实有找到,但不过他不支持搜索,于是乎,我就自动动手,进行了二开定制,站在巨人的肩膀上&…...

实现单行/多行文本溢出
在日常开发展示页面,如果一段文本的数量过长,受制于元素宽度的因素,有可能不能完全显示,为了提高用户的使用体验,这个时候就需要我们把溢出的文本显示成省略号。 一. 单行文本溢出 即文本在一行内显示,超出…...
Spring Boot中的Binder类
介绍 Spring Boot中的Binder类是一个用于绑定属性的工具类。它可以将配置文件中的属性值绑定到Java对象中,从而方便地进行配置管理。 简单示例 import org.springframework.boot.context.properties.bind.Binder; import org.springframework.core.env.Environmen…...
leetcode之打家劫舍
leetcode 198 打家劫舍 leetcode 213 打家劫舍 II leetcode 337. 打家劫舍 III 你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都 围成一圈 ,这意味着第一个房屋和最后一个房屋是紧挨着的。同时&#…...

走进Spring的世界 —— Spring底层核心原理解析(一)
文章目录 前言一、Spring中是如何创建一个对象二、Bean的创建过程三、推断构造方法四、AOP大致流程五、Spring事务 前言 ClassPathXmlApplicationContext context new ClassPathXmlApplicationContext("config.xml"); UserService userService (UserService) cont…...

快看看你的手机有没有:谷歌Android全面封杀此类软件!
谷歌坐不住了,因为Android应用商店中,充斥着大量可窃取用户数据的应用,所以必然要出手整治了。 一款名叫“SonicSpy”软件是整个事情的导火索,而该应用是典型的窃取用户数据的应用,其除了可以从手机中提取个人数据外&…...

spark ui 指南
spark ui 指南 1.sparkUI 基本介绍2.jobs页面3.stages 页面4.storage 页面5.environment 页面6.ececutor 页面7 sql 页面 spark ui 是反应一个spark 作业执行情况的页面,通过查看作业的执行情况,分析作业运行的状态. 1.sparkUI 基本介绍 进入运行主页面如下,主要有6各部…...

【分布式事务】
文章目录 解决分布式事务的思路seata四种模式1. XA模式2. AT模式AT模式与XA模式的区别是什么?脏写问题 3. TCC模式事务悬挂和空回滚 4. SAGA模式 四种模式对比口述AT模式与TCC模式高可用 什么是分布式事务? 分布式事务,就是指不是在单个服务或…...

linux 清除卸载jenkins
1、停服务进程 查看jenkins服务是否在运行,如果在运行,停掉 查看服务 ps -ef|grep jenkins 停掉进程 kill -9 XXX2、查找安装目录 find / -name "jenkins*"3、删掉相关目录 删掉相关安装目录 rm -rf /root/.jenkins/# 删掉war包 rm -rf /…...

番外4:VMware安装
step4: 安装过程中,有些选项不需要点(安装地址建议选C盘或默认,装载在其他盘后续会报错),如: may error(本人猜测安装虚拟机完整版需要C盘的一些桥插件支持): step5: 安装虚拟机成功…...
Oracle 19.20 patch 注意事项
1. 打patch 用root 打 /u01/app/19.0.0/grid/OPatch/opatchauto apply /u01/app/patch/35319490 2.打patch 之前 所有NODE上OPatch 版本要一样 3. OPatch 目录不要是root权限 4.打一台,一台自动重启。 有几个node 在几个node 打。patch 都要传到不同的node上 …...

ElementUI之增删改及表单验证
⭐⭐本文章收录与ElementUI原创专栏:ElementUI专栏 ⭐⭐ ElementUI的官网:ElementUI官网 目录 一.前言 二.使用ElementUI完成增删改 2.1 后台代码 2.2 前端代码 三.使用ElementUI完成表单验证 一.前言 本章是继上一篇的基础之上在做完善࿰…...

【Java 进阶篇】深入理解 JDBC:Java 数据库连接详解
数据库是现代应用程序的核心组成部分之一。无论是 Web 应用、移动应用还是桌面应用,几乎都需要与数据库交互以存储和检索数据。Java 提供了一种强大的方式来实现与数据库的交互,即 JDBC(Java 数据库连接)。本文将深入探讨 JDBC 的…...
Web开发-session介绍
目录 session介绍session使用场景session具体使用需要注意的是 session介绍 session 可以被看作是一种缓冲区,用于在多个请求之间存储和传递用户数据。在 Web 应用程序中,session 通常用于存储用户登录信息、购物车数据、用户偏好设置等。当用户在应用程…...

基于Qt Creator开发的坦克大战小游戏
目录 介绍开发环境技术介绍安装说明项目目录设计思想项目介绍运行演示知识点记录Gitee源码链接 介绍 !!!资源图片是从网上免费下载,源码都是原创,供个人学习使用,非盈利!!ÿ…...

小说推文和短剧推广以及电影达人带货电影票
小说推文、短剧推广、电影达人(带或电影票)都可以通过“巨量推文“进行申请授权 小说推文和短剧推广是什么? 小说推文和短剧推广的逻辑其实一样,分为cpa拉新和cps分成的推广形式 cpa拉新是你推广的用户必须为新用户,…...
朴素贝叶斯分类(下):数据挖掘十大算法之一
⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️ 🐴作者:秋无之地 🐴简介:CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作,主要擅长领域有:爬虫、后端、大数据开发、数据分析等。 🐴欢迎小伙伴们点赞👍🏻、收藏⭐️、…...
9.30作业
C语言基础考题(40) 选择题 20分每题2分 1、已知字母A的ASCII码为十进制数值65,且S为字符型,则执行语句SA6-3;后S中的值为 ( ) A.D B.68 C.不确定的值 D.C 2、若有定义语句:int a12;,则执…...

[GWCTF 2019]枯燥的抽奖
参考 https://www.cnblogs.com/AikN/p/15764428.html [GWCTF 2019]枯燥的抽奖-CSDN博客 打开环境 笑死我了,怎么那么像我高中校长 查看源代码 看到check.php,去访问一下 ok看到源代码了 因为上次做过,看到这个我就想到用php_mt_seed逆推…...

聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...
Frozen-Flask :将 Flask 应用“冻结”为静态文件
Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

视频字幕质量评估的大规模细粒度基准
大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...
python如何将word的doc另存为docx
将 DOCX 文件另存为 DOCX 格式(Python 实现) 在 Python 中,你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是,.doc 是旧的 Word 格式,而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...

招商蛇口 | 执笔CID,启幕低密生活新境
作为中国城市生长的力量,招商蛇口以“美好生活承载者”为使命,深耕全球111座城市,以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子,招商蛇口始终与城市发展同频共振,以建筑诠释对土地与生活的…...

使用LangGraph和LangSmith构建多智能体人工智能系统
现在,通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战,比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...

【Linux】Linux 系统默认的目录及作用说明
博主介绍:✌全网粉丝23W,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...
C#学习第29天:表达式树(Expression Trees)
目录 什么是表达式树? 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持: 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...

永磁同步电机无速度算法--基于卡尔曼滤波器的滑模观测器
一、原理介绍 传统滑模观测器采用如下结构: 传统SMO中LPF会带来相位延迟和幅值衰减,并且需要额外的相位补偿。 采用扩展卡尔曼滤波器代替常用低通滤波器(LPF),可以去除高次谐波,并且不用相位补偿就可以获得一个误差较小的转子位…...