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逆推…...
ES6从入门到精通:前言
ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var…...
【位运算】消失的两个数字(hard)
消失的两个数字(hard) 题⽬描述:解法(位运算):Java 算法代码:更简便代码 题⽬链接:⾯试题 17.19. 消失的两个数字 题⽬描述: 给定⼀个数组,包含从 1 到 N 所有…...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...

【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)
🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...
Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理
引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...

10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...

安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)
船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...
现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?
现有的 Redis 分布式锁库(如 Redisson)相比于开发者自己基于 Redis 命令(如 SETNX, EXPIRE, DEL)手动实现分布式锁,提供了巨大的便利性和健壮性。主要体现在以下几个方面: 原子性保证 (Atomicity)ÿ…...
深度剖析 DeepSeek 开源模型部署与应用:策略、权衡与未来走向
在人工智能技术呈指数级发展的当下,大模型已然成为推动各行业变革的核心驱动力。DeepSeek 开源模型以其卓越的性能和灵活的开源特性,吸引了众多企业与开发者的目光。如何高效且合理地部署与运用 DeepSeek 模型,成为释放其巨大潜力的关键所在&…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现指南针功能
指南针功能是许多位置服务应用的基础功能之一。下面我将详细介绍如何在HarmonyOS 5中使用DevEco Studio实现指南针功能。 1. 开发环境准备 确保已安装DevEco Studio 3.1或更高版本确保项目使用的是HarmonyOS 5.0 SDK在项目的module.json5中配置必要的权限 2. 权限配置 在mo…...