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逆推…...
测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...
vscode里如何用git
打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...
微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...
优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...
提升移动端网页调试效率:WebDebugX 与常见工具组合实践
在日常移动端开发中,网页调试始终是一个高频但又极具挑战的环节。尤其在面对 iOS 与 Android 的混合技术栈、各种设备差异化行为时,开发者迫切需要一套高效、可靠且跨平台的调试方案。过去,我们或多或少使用过 Chrome DevTools、Remote Debug…...
ZYNQ学习记录FPGA(一)ZYNQ简介
一、知识准备 1.一些术语,缩写和概念: 1)ZYNQ全称:ZYNQ7000 All Pgrammable SoC 2)SoC:system on chips(片上系统),对比集成电路的SoB(system on board) 3)ARM:处理器…...
面试高频问题
文章目录 🚀 消息队列核心技术揭秘:从入门到秒杀面试官1️⃣ Kafka为何能"吞云吐雾"?性能背后的秘密1.1 顺序写入与零拷贝:性能的双引擎1.2 分区并行:数据的"八车道高速公路"1.3 页缓存与批量处理…...
jdbc查询mysql数据库时,出现id顺序错误的情况
我在repository中的查询语句如下所示,即传入一个List<intager>的数据,返回这些id的问题列表。但是由于数据库查询时ID列表的顺序与预期不一致,会导致返回的id是从小到大排列的,但我不希望这样。 Query("SELECT NEW com…...
WEB3全栈开发——面试专业技能点P4数据库
一、mysql2 原生驱动及其连接机制 概念介绍 mysql2 是 Node.js 环境中广泛使用的 MySQL 客户端库,基于 mysql 库改进而来,具有更好的性能、Promise 支持、流式查询、二进制数据处理能力等。 主要特点: 支持 Promise / async-await…...
