- 博客(22)
- 问答 (3)
- 收藏
- 关注
原创 2023 csp-j第一轮解析
【解析】这里有一个在上面定义的 min 函数,功能是对三个整数求最小值,观察第 24 行 dp[i][j] = 1 + min(dp[i][j – 1], dp[i – 1][j]) 由 前面的 1 + 可知这里进行了一次操作,那么dp[i][j – 1] 就对应着插入, dp[i – 1][j] 对应着删除,剩下要填的就是替换了,填 dp[i-1][j-1],选 C。只需通过二分找到从左往右第一处使得nums[i]不为nums[0]+i的的位置,那么在数组中被移除的数就是nums[0]+i。
2023-09-23 14:18:02 4055 4
原创 CSP-J/S报名流程
教师注册——各省负责人审核教师注册信息——选手注册——教师审核选手注册信息——选手报名——教师审核报名信息——各省负责人审核报名信息——选手进行最终确认(交费)——各省负责人生成准考证号、考场座位号并提交报名表——CCF审核各省报名表。学校报名、机构报名、个人报名的区别在于最终获奖名单上的“学校”部分会有差别,如果需要信奥成绩用在升学(如科技特长生认定等),建议选择学校报名。......
2022-08-11 12:46:55 2185
原创 时间复杂度是什么,干嘛用?
大家初学编程,做编程练习时,可能会遇到这种情况自己在电脑上运行输入数据,能得到正确的结果,但是网站评测的结果却是0分,或者部分分数。我们思考一下,影响程序解决问题速度的因素有哪些?第一个因素,问题规模。比如同样判断质数,判断100以内的数字和一个数十亿的数字,计算量差别很大。第二个因素,计算机性能。同样的问题,普通电脑和超级计算机的运算时间差距,也是不可想象的。第三,代码本身的效率。对于一个公司来说,提升网站性能的方法主要是后两点,而且提升代码效率的代价远远低于提升服务器。而在编
2021-10-29 12:07:42 1414
原创 新鲜出炉的 CSP-J 2021 复赛题目 题解
2021普及组复赛代码量大点,难度一般。T1 P7909 [CSP-J 2021] 分糖果最简单容易想到的思路,应该就是枚举[L,R]范围内的每一个数字 %n 的结果,保留最大结果,如下所示。//分糖果 #include<bits/stdc++.h>using namespace std;int main(){ int n,L,MX=0; cin>>n>>L>>R; for(int i=L;i<=R;i++) { MX=max(
2021-10-28 22:18:34 6876 1
原创 CSP-J 2021 初赛题详解
2021普及组真题阅读程序部分难度比较高,其他的难度还可以,整体来说必之前难一点。一、单项选择1.D2.B3.A4.C N个数字找最大值,一般做法就是把第一个数字作为最大值直接存下来,然后和后面的每个数字比较,这种方法的比较次数是N-1,同时也是答案中的最小值了,故选 C。5.D模拟入栈出栈操作就可以。6.D 图有m条表,树的边数是n-1,即m - ( ) = n-1. 需要删除 m-n+1条边。7.C8.A 高度为5的完全二叉树最后最后一层的节点数取值范围
2021-09-22 16:26:39 15815 5
原创 2018普及组初赛解析(chasem)
2018普及组初赛题目链接:https://ti.luogu.com.cn/problemset/1028 当N为偶数时,先取前两个数字,比较之后,大的为max,小的为min。 后面的数字两两一组,组内比较之后,大的和max比较,小的和min比较。 当N为奇数时,max和min都取第一个数字,后面的数字两两一组,组内比较之后, 大的和max比较,小的和min比较。偶数需要比较的次数为:1+(N-2)/23=3/2N-2奇数需要比较的次数为(N-1)/2*3.
2021-09-13 10:19:48 278
原创 2019普及组初赛 讲解(chasem)
2019普及组初赛题目链接 https://ti.luogu.com.cn/problemset/1030可以根据用的袋子数量分五种情况:5个袋子:1+1+1+1+4 1+1+1+2+3 1+1+2+2+2 3 4个袋子:1+1+1+5 1+1+2+4 1+1+3+3 1+2+2+3 2+2+2+2 5 3个袋子:1+1+6 1+2+5 1+3+4 2+2+4 2+3+3 5 2个袋子:1+7 2+6 3+5 4+4
2021-08-02 22:36:40 512 1
原创 P7472 [NOI Online 2021 入门组] 吃豆人
//吃豆人/*解题思路:分析吃豆人运行轨迹 我们会发现吃豆人会走一个环形的路径 或者 直线枚举两个环的顶部落点 去掉交点 保留最大值即可*/#include <bits/stdc++.h>using namespace std;const int N = 1010;int n;int g[N][N],flag[N][N];int s[N];struct point{int x;int y;};int main( ){cin >> n;//读入所.
2021-08-01 00:10:33 276
原创 unique()用法
unique的作用是“去掉”容器中 相邻元素 的重复元素(不一定要求数组有序),它会把重复的元素添加到容器末尾(所以数组大小并没有改变),而返回值是去重之后的尾地址,下面举个例子。由于返回的是容器末尾,所以如果想得到去重后的size,需要减去初始地址,lower_bound是得到地址,稍微不同。sz = unique(b + 1,b + n + 1)-(b + 1); //从下标1开始存储sz = unique(a,a + n) - a;sort(a + 1,a + 1 + n); // 排序n
2021-06-03 08:44:09 3189
原创 P7471 [NOI Online 2021 入门组] 切蛋糕
分情况讨论即可#include <bits/stdc++.h>using namespace std;typedef long long ll;ll n;ll s[4];int main(){ cin>>n; for(ll i=1;i<=n;i++) { ll ans; cin>>s[1]>>s[2]>>s[3]; sort(s+1,s+4);
2021-04-28 20:27:01 372
原创 筛法求质数(chasem)
筛法求质数朴素筛法 o( n * log n)#include <iostream>using namespace std;const int N = 1e6+10;int prime[N], cnt;bool st[N];//朴素筛法-O(nlogn)void get_primes(int n) { for(int i = 2; i <= n; i++) { if(!st[i]) prime[cnt++] = i; for(in
2021-04-26 09:41:13 442
原创 二分查找 的 各种模板
二分查找 的各种模板算法简介 二分查找是二分法的一种应用,用来解决有序区间的元素查找问题。 每次判断区间中点,根据判断结果可以区间缩小一半,最终锁定答案。 二分法思路简单,但是根据查找需求有不同的模板,里面的细节需要注意。算法模板模板1:要找的数字一定存在时 而且唯一的时候//二分查找 #include <iostream>using namespace std;int binarySearch(int a[],int l,int r,int x)//递
2021-04-21 13:41:43 654
原创 lower_bound 和upper_bound 用法简介 (chasem)
lower_bound 和upper_bound 用法简介lower_bound( )和upper_bound( )都是利用二分查找的方法在一个排好序的数组中进行查找的。函数原型lower_bound(_ForwardIterator __first, _ForwardIterator __last,const _Tp& __val)upper_bound(_ForwardIterator __first, _ForwardIterator __last,const _Tp& __v
2021-04-21 10:27:01 426
原创 sort()用法简介(chasem)
sort()用法简介void sort( RandomIt first, RandomIt last );void sort( RandomIt first, RandomIt last, Compare comp );作用:将从地址first开始 ,到地址last结束的内容进行排序。sort并不是简单的快速排序,它对普通的快速排序进行了优化,此外,它还结合了插入排序和推排序,它会根据 数据特征 选择最合适的算法。时间复杂度:n*log(n)当我们排序的数据是能直接比较而且是需要从小到大排序
2021-04-20 23:43:10 385
原创 memset()用法简介 (chasem)
memset()用法简介memset(void *buffer, int c, int count)作用:将从buffer地址开始 , 连续count个字节的值都设置成 值 c**注意是按字节复制的 **上面的 c 并不是变量的值,变量具体的值还要看变量的类型比如 int 类型 一般占四个字节那么当 c 为 0 变量值就是 补码 00000000 00000000 00000000 合在一起值 0当 c 为 1 变量值就是 补码 00000001 00000001 0000000
2021-04-20 23:04:41 206
原创 深入学习高精度运算(chasem)
深入学习高精度运算(chasem)高精度运算是算法学习中一个比较重要的内容实际就是模拟我们平时运算的过程有一定的实用性,虽然python不用模拟直接就能实现下面我们逐个学习高精度的加减乘除1.高精度加法高精度运算,数字可以达到几百位上千位,只能用字符串来接受。接收完数字后,高位在前,低位在后。我们先看下我们平时的加法计算过程需要个位,十位,这样对应位置对齐,而且加完以后数字还可能边长,这样的话最高位在下标0除,没地方进位了。我们不妨把字符串倒过来,这样,既方便进位,又可以让个位十位扥个
2021-01-06 16:48:54 393
原创 查看电脑连接过的所有WiFi密码
查看电脑连接过的所有WiFi密码家里wifi用久了,可能会忘记密码,然后来客人连接 wifi 就会比较麻烦,这个时候我们可以通过电脑命令查看连接过的wifi。首先代开命令行窗口输入下面指令netsh wlan show profiles会看到很多连接过的 wifi 的名字[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Fdbj7Kxy-1608536604924)(CSDN博客.assets/1608536162083.png)]然后使用下面的指令net
2020-12-21 15:47:36 162
原创 设置外接屏幕亮度
设置外界屏幕亮度最近买了一个外界屏幕,竖屏看代码非常舒服,但是晚上感觉有点刺眼,于是准备调整亮度。发现显示设置里面只能调整内置屏幕亮度。于是上网找,发现要进入英特尔显卡设置。发现里面只有一个显示器,………想了一会,灵机一动,这个和显卡有关,我的电脑还有另一个显卡!进入英伟达控制面板,果然就能调整外接屏幕了...
2020-12-21 15:24:06 2781
原创 2020 CSP-J 初赛题目全解析(chasem)
2020普及组初赛选择题:1.内存编号,就是地址。2.编译器的作用是讲源程序翻译成机器指令代码,将高级语言转换成低级语言。4.一位即 1 比特,1字节=8比特。 即2048 * 1024 * 32 / 8 / 1024 /1024 MB冒泡排序比较次数最少的情况:原本所有数字的顺序就是对的,一趟比较结束,所以是比较 n-1 次。int XYZ(int a[],int n)//n个元素 从下标 1 开始存储 { if(n==1) return a[n]; else {
2020-12-18 21:32:14 12141 4
原创 # 创建你的第一本gitbook(windows系统)
创建你的第一本gitbook(windows系统)gitbook的好处gitbook是由Markdown文件生成的,可以保留Markdown的简洁舒适的排版,将大量的markdown笔记生成一个html页面,更适合查看,分享。环境搭建gitbook要在安装node.js的前提下才能运行。因为新版的gitbook不支持页面之间的跳转,很不方便,所以,我们暂且使用老版的node.js和gitb...
2019-06-12 06:17:07 144 1
空空如也
c++怎样实现在文件给对象赋值?
2020-05-28
安装kingBase一直提示缺少VC2008
2019-02-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人