2019 CSP-J 初赛解析
题面,成绩不是真实水平,就挑重点说一说
T5
这是二分查找,属于是我的代码理解不太对
我的理解
#include<iostream>
using namespace std;
int p;
int main(){
int l = 1,r = 100;
cin >> p;
int cnt = 0;
while( l < r ){
cnt++;
int mid = (l+r) / 2;
if( mid == p ) break;
if( mid < p ) l = mid+1;
else r = mid-1;
}
cout << cnt;
return 0;
}
正确理解
#include<iostream>
using namespace std;
int p;
int main(){
int l = 1,r = 100;
cin >> p;
int cnt = 0;
while( l <= r ){
cnt++;
int mid = (l+r) / 2;
if( mid == p ) break;
if( mid < p ) l = mid+1;
else r = mid-1;
}
cout << cnt;
return 0;
}
当 p = 22 的时候,我的代码就不对了,22 本来应该是查 $7$ 次,但我的是 $6$ 次
出现这个问题的原因就是,我的算法不会考虑这个数到底是不是 22 ,
但现在的 mid 已经大于 21 而且 小于 23 了,我的算法会直接判断这个数就是 22,
实际上需要有一步筛查是判断当前到底是不是 22 ,
所以我的算法最终给的答案是 $6$,但实际上是 $7$
T7
这玩意好像只能枚举。。。
加油
最终枚举出来应该是:
袋子 1 2 3 4 方案数
0 0 0 0~4 5
0 0 1 1~3 3
0 0 2 2~3 2
0 1 1 1~3 3
0 1 2 2 1
0 2 2 2 1
1 1 1 1~2 2
1 1 2 2 1
最终最后是 $5 + 3 + 2 + 3 + 1 + 1 + 2 + 1 = 18$ 种
T11:
最好的跑法为:(依次代表周一到周天跑的公里数)
3 3 0 0 5 5 5
最终消耗的热量为:$ 2\times300+3\times600 = 2400 $ 千卡
T13:
每个车牌号可以理解成 ABCBA
很肯定的是,C 只能是 0、1、8 中的一个
然后 A 可以从 0、1、8、6、9 中取一个
B 跟 A 一样
所以一共有 $3\times5\times5$ 种车牌号
T16:
这个程序就是算出改变所有下标为字符串长度 n 的因子的a[i],
将其从小写字母转变为大写字母
当然这是最直观的感受,如果能大体记住ASCII码的话会发现不仅仅局限于小写字母
所以这里的 (1) 就可以得出答案了:错误
(2):正确,由于这个 i 枚举的是所有 n 的因子,所以 i 肯定是不能取到 0
(3):错误,以 n = 36 举例,按照原来的程序跑,i 可以取到 $12$ 和 $18$
但是改了以后 i 就只能取到 $6$ 了,所以很显然这个是不可以这么改动的
(4):正确,因为 $'A' < 'a'$ ,所以这个 if 循环压根就进不去
(5):6,因为 18 的因子一共只有 $6$ 个:$1、18、2、9、3、6$,要改变就变他们
(6):100000,很显然,其他选项的因子没那么多
T17:
(1):一开始觉得很有可能是:x = y = 0
刚才悟了半天才悟出来,这个 ++ans 的循环是从 $1$ 开始的。。。
剩下的不想再单独解释了,自己看老师推荐的题解吧。。。
附:LAN 局域网 WAN 广域网 MAN 城域网 LNA 低噪声放大器
2019 CSP-J 初赛解析的更多相关文章
- CSP J/S 初赛总结
CSP J/S 初赛总结 2021/9/19 19:29 用官方答案估计 J 涂卡的时候唯一的一支 2B 铅笔坏了,只能用笔芯一个个涂 选择 \(-6\ pts\) 判断 \(-3\ pts\) 回答 ...
- CCF CSP 201604-3 路径解析
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201604-3 路径解析 问题描述 在操作系统中,数据通常以文件的形式存储在文件系统中.文件系 ...
- 【游记】CSP J/S 2019 游记
J 组 \(2:30\)开始, \(2:13\)还在酒店的我看了看手表...飞奔考场. T1 数字游戏 秒切. 下午某中学某大佬说可用线性基(%) T2 公交换乘 用单调队列思想,秒切. T3 纪念品 ...
- 2019 CSP-S 初赛解析
因为我不会设置用博客园显示Markdown语法,所以在洛谷也写了一份:传送门 一起讨论的这套卷.题干 然后还有一些可以借鉴一下的解析 选择: T1. 注意运算顺序: a%3=1 --> (int ...
- CSP J/S 2019受虐记
一枚蒟蒻的游记~ 提高组DAY1 不是说每场考试都有一道签到题吗 那我tm读了三遍题硬是没找到一道水题是怎么回事(是我太弱了吗) 没办法,硬着头皮做T1 暴力写法...期望得分30pts 于是...在 ...
- NOIP2018普及初赛解析
2018年第二十四届全国青少年信息学奥林匹克联赛初赛普及组真题解析 一.单项选择题 1. 以下哪一种设备属于输出设备:(D) A.扫描仪 _B.键盘C. 鼠标 _D. 打印机 解析:送分题,前三个都是 ...
- NOIP2017提高组初赛解析
首发于订阅号 嗨编程,这是一个以嗨为目标的编程订阅号(仅仅是目标而已),扫码可关注,不定期更. 解析中引用了一张关于排序的总结课件图片,来源网络,如果侵权,请联系本人删除(没钱付版权费)
- The Preliminary Contest for ICPC Asia Xuzhou 2019 I J
I. query 题意:给出n的一个排列,有m个询问[l,r],询问[l,r]直接有倍数关系的pair个数. 解法:比赛完之后听说是原题,但是我没做过呀,做题太少了qwq.首先因为数字是1-n的,所以 ...
- 2020 CSP-J 初赛解析
题面 老师给的解析 自己觉得很好的一篇题解 直接说重点题吧,不耽误时间了 T5: 这个很显然就是让进这个 while 的次数尽可能少, 那么我们可以让他只进一次 while,即让第一次进 whil ...
随机推荐
- Istio实践(4)- 故障注入、熔断及ServiceEntry
前言:接上一篇istio多服务应用部署及调用,本文介绍通过流量管理(故障注入.请求超时等)以及ServiceEntry外部服务部署应用 1.设置服务延迟 修改springbootapp-vs-v1.y ...
- python matplotlib在mac os x 中如何显示中文,完美解决
一. 下载相关的中文字体 simhei 文件: 下载地址 二.通过以下代码查找matplotlib的数据存放位置: import matplotlib print(matplotlib.matplot ...
- PHP代码审计之SQL注入
代码审计之SQL注入 SQL注入攻击(SQLInjection),是攻击者在表单中提交精心构造的sql语句,改变原来的sql语句,如果web程序没有对提交的数据经过检查,那么就会造成sql注入攻击. ...
- NLP教程(5) - 语言模型、RNN、GRU与LSTM
作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/36 本文地址:http://www.showmeai.tech/article-det ...
- Django学习——ajax发送其他请求、上传文件(ajax和form两种方式)、ajax上传json格式、 Django内置序列化(了解)、分页器的使用
1 ajax发送其他请求 1 写在form表单 submit和button会触发提交 <form action=""> </form> 注释 2 使用inp ...
- C Primer Plus 学习笔记 -- 前六章
记录自己学习C Primer Plus的学习笔记 第一章 C语言高效在于C语言通常是汇编语言才具有的微调控能力设计的一系列内部指令 C不是面向对象编程 编译器把源代码转化成中间代码,链接器把中间代码和 ...
- Linux磁盘空间查看及空间满的处理
问题 在部署应用到测试环境的时候,有些文件同步出错,最后定位到测试服务器空间满了. 解决 查看磁盘空间还剩多少空间 df -h 查看根目录下每个目录占用空间大小 du --max-depth=1 -h ...
- 从URL输入到页面展现到底发生什么?DNS 解析&TCP 连接
DNS 解析:将域名解析成 IP 地址 TCP 连接:TCP 三次握手 发送 HTTP 请求 服务器处理请求并返回 HTTP 报文 浏览器解析渲染页面 断开连接:TCP 四次挥手 一.什么是URL? ...
- 【网站】windows phpstudy v8.1搭建https
这两天在搭建微擎,使用了官方推荐的一键安装环境,在搭建完站点后,想开启https. 发现如下图所示,无论关闭网站,还是关闭nginx.都无法建立https.网上也找不到相关流程,后来试着关闭nginx ...
- Stream.toList()和Collectors.toList()的性能比较
昨天给大家介绍了Java 16中的Stream增强,可以直接通过toList()来转换成List. 主要涉及下面这几种转换方式: list.stream().toList(); list.stream ...