csp

csp 初赛 (不懂的地方)

烂漫一生 提交于 2019-12-01 10:23:59
11. 有以下结构体说明和变量定义,如图所示,指针 p、 q、 r 分别指向一个链表中的三个连续结点。 struct node { int data; struct node *next; } *p, *q, *r; 现要将 q 和 r 所指结点的先后位置交换,同时要保持链表的连续,以下程序段中错误 的是( D ) A. q->next = r->next; p->next = r; r->next = q; B. p->next = r; q->next = r->next; r->next = q; C. q->next = r->next; r->next = q; p->next = r; D. r->next = q; q->next = r->next; p->next = r; ->是什么意思啊,指针没有学啊qaq 完全图??? 逻辑运算。 二叉树不能表示图 组合数学 疑惑 单选题(1) 某计算机的 CPU 和内存之间的地址总线宽度是 32 位(bit),这台计算机最多可以使用(  )的内存。 A. 2GB  B. 4GB  C. 8GB  D. 16GB 中缀转后缀 举个例子,一个式子: (5+20+1∗3)/14 (5+20+1*3)/14(5+20+1∗3)/14 如何把该式子转换成后缀表达式呢?其实就是分三步: 1、按运算符优先级对所有运算符和它的运算数加括号

2019.10.15 CSP初赛知识点整理

夙愿已清 提交于 2019-12-01 10:14:23
初赛需要的知识点整理如下: (1)计算机的硬件组成与基本常识 (2)单位/进制的转换 (3)进制/逻辑运算相关 (4)概率与期望 (5)排序的各种性质 (6)简单数据结构的使用(栈、队列、链表等) (7)简单树论和图论,各种图的性质 (8)CSP竞赛相关 (9)计算机语言/软件相关 (10)时间复杂度的计算 (11)时间点/时事/荣誉奖项相关 (12)简单计数(字符串、图论等) (13)网络协议相关 (14)其它各种拼人品的题 以上选择。 (1)复杂计数 (2)逻辑推理相关 (3)手模各种算法 (4)逻辑思维能力 (5)构造与论证 以上问题求解。 (1)复赛所需各种算法 (2)递归的计算 (3)透过现象看本质的观察力 (4) 良好的心态 以上阅读程序。 (1)各种常用算法的熟练掌握 (2)良好的代码感觉 (3) 合理的时间分配、良好的大局观 (4)良好的准备爆零的心态 祝大家考试顺利!! RP++!!! while(study_hard) { level++; RP++; if(level==100&&RP)first_prize=1; }    来源: https://www.cnblogs.com/qxds/p/11679641.html

CSP初赛复习

北城以北 提交于 2019-12-01 07:09:48
无符号数和有符号数 在计算机中参与运算的数有两大类:无符号数和有符号数 (1)有符号数: 对于有符号数而言,符号的正、负机器是无法识别的,但由于“正、负”恰好是两种截然不同的状态,如果用“0”表示“正”,用“1”表示“符”,这样符号也被数字化了,并且规定将它放在有效数字的前面,即组成了有符号数。所以,在二进制中使用最高位(第一位)来表示符号,最高位是0,表示正数;最高位是1,表示负数。 (2)无符号数: 无符号数是针对二进制来讲的,无符号数的表数范围是非负数。全部二进制均代表数值(所有位都用于表示数的大小),没有符号位。即第一个"0"或"1"不表示正负。 二进制中的原码、反码、补码 对于有符号数而言: (1)二进制的最高位是符号位:0表示正数,1表示负数 (2)正数的原码、反码、补码都一样; (3)负数的反码 = 它的原码符号位不变,其他位取反(0 ->1 ; 1->0 ); (4)负数的补码 = 它的反码 +1; (5)0的反码、补码都是0; (6)在计算机运算的时候,都是以补码的方式来运算的; 来源: https://www.cnblogs.com/ezoihy/p/11666685.html

收到CSP无奖通知前计划

纵饮孤独 提交于 2019-12-01 07:06:07
距离我得知CSP拿不了一等奖还有34 - 1天 我太难了 我还是不像其他dalao一样已经信心满满准备去考CSP了,说实话我都后悔交钱去考试,反正又没有奖...( 丢人 ) 以明天(2019年10月13日)为Day 1,开始我的计划吧,由于我这个蒟蒻太蒻了,我连考什么都不知道,中途再慢慢修改计划吧. Day 1 排序与检索 vector set priority_queue 测试STL 栈和队列 ( 话说不就是排序和STL吗 ) Day 2 链表 树和二叉树(二叉树的编号,层次遍历,递归遍历) 非二叉树 Day 3 DFS求联通块 BFS求最短路 拓扑排序 欧拉回路(欧拉路) Day 4 竞赛题目选讲 训练参考(只明白题意和做法,并不实际做出) Day 5 生成可重(不可重)排列 解答树 下一个排列 子集生成 Day 6 回溯法的其他应用 路径寻找 迭代加深搜(写例题) Day 7 竞赛题目选讲 训练参考(要求同上) Day 8 算法分析初步 再谈排序与检索 Day 9 递归与分治 贪心法之背包相关问题 Day 10 贪心法之区间相关问题 Huffman编码 Day 11 算法设计与优化策略 竞赛题目选讲 训练参考(要求同上) Day 12 问题描述与状态定义 记忆化搜索与递推 DAG模型 最长路与其字典序 Day 13 固定终点的最长路和最短路 小结与应用举例 Day 14 来源

致2019 第一届CSP ——考前总结与祈祷

大兔子大兔子 提交于 2019-12-01 05:46:42
明天就是 世界上第一届 CSP比赛了,时间是过得真的快啊。。去年的NOIP爆炸的事情仿佛还在眼前。。 明天是一个全新的开始,不知道普及组和提高组一起打的压力我是否能承受住。。尽力而为吧,不负我就行。 话说回来我最慌得还是犯傻逼错误啊。。不会做没关系,我的实力也就只有这样了呀。。 反正,不管怎么说,我只要能把自己的真实实力充分发挥出来就足够了。把该打的暴力分打满,会写的题不挂分就足够了。 这又不得不说到去年考试的时候的悲惨经历了。我去年考试的时候,花了太多时间在T3上,以至于没时间做T4并且心态爆炸。。 所以,在明天,如果我遇到一道题超过半个小时还没有调试出来的时候,那就放弃吧,码个暴力就够了。 鉴于去年的悲催错误,我决定今年先把所有的题目都看一遍,有思路的先做,没思路的暂时放一边,随后再以自己的感觉开题 如果时间足够,尽量写一题拍一题 谨记那些傻逼错误啊!! 再贴一遍吧: 1.两个int相乘,50%几率会爆了int。(不开long long见祖宗) 2.无向图邻接表的边表忘了 2,这是心口永远的痛; 3、 线段树数组开小不是 4(乘4有时候不够) 4、 调用多个函数不仅容易tle,还会mle 5. 关于SPFA,它死了; 6. 注意数组空间,(开了long long见祖宗) 7. 永远不要把n和m打错. 8. 多次查询记得清空数组 9. STL函数的区间大多是左闭右开 10.

NOIP(CSP)初赛知识总结

巧了我就是萌 提交于 2019-12-01 05:45:04
快要CSP2019初赛了,再次总结一些初赛知识及技巧,供自己与大家复习。 一、计算机理论类: 1、单位:位(bit),字节(Byte),以及许多字节的缩写:KB、MB、GB、TB、PB,更大的应该不会考了。换算关系为: 1 Byte = 8 bit 1 KB = 1024 Byte 1 MB = 1024 KB 1 GB = 1024 MB 1 TB = 1024 GB 1 PB = 1024 TB 注:10TB大约为正常人脑储存量。 2、编程语言:大致有两个分法。 面向对象:C++、Java、EIFFEL、Python等 面向过程:C、Fortran等 注:Pascal似乎既可以面向对象也可以面向过程。 编译性语言:C、C++、Pascal、Delphi等 解释性语言:Java、VB、Python、Ruby、Matlab等 注:编译型语言指直接将源代码翻译成机器语言的语言,解释语言则是一行一行翻译。 3、计算机系统组成: 一个图可以展现所有的细节了,图片来自互联网: 需要记忆的知识点:硬件组成:运算器、控制器、存储器、输入输出设备。 CPU包括运算器、控制器、存储器。 存储器包括内、外存储器。 断电后能保存数据:ROM(只读存储器)、硬盘 断电后不能保存数据:RAM(随机存储器)、CPU、显卡 4、计算机发展历史:电子管计算机、晶体管计算机、中小规模集成电路计算机

CSP比赛总结

回眸只為那壹抹淺笑 提交于 2019-12-01 05:44:04
本周没有任何进展,基本都是在牛客打CSP比赛,而且战绩感人。 补题1: 乘法师 题意:给定一个长为n的数组,满足所有数都是非负整数。求A有多少个非空子区间,满足区间中所有数的积≥v。 解题思路:对于一段不含0的区间(l,r)若累乘到某一个数(位置i)时乘积已经大于等于v了,那么它对答案的贡献就是r-i+1,然后再将积除以最右边的数,继续向右累乘,以此类推。所以只需要对每一个不含0的区间进行计算求和即可,对于答案, # include <iostream> # include <algorithm> # include <string.h> # include <string> # include <cstdio> # include <cmath> # define ll long long using namespace std ; const int nn = 1e5 + 10 ; ll n , m , k , ans , T ; ll num [ nn ] , ind [ nn ] ; ll jisuan ( int l , int r ) { ll res = 0 , now = num [ l ] , t = l ; if ( l > r ) return 0 ; if ( m == 1 ) return ( r - l + 1 ) * ( r - l + 2 ) / 2

CSP模拟赛20190922

独自空忆成欢 提交于 2019-12-01 05:23:04
目录 DAY1 T1 T2 T3 DAY2 T1 T2 T3 @(CSP模拟赛20190922) 两天的一二题都挺水的,期望本来可以得400,但是没有一天是得完了能得的分的。 DAY1 T1 优美的字符串(string) 【题目描述】 小 Y 送给小 F 一个字符串作为礼物,这个字符串只由’a’ 和’b’ 组成。 由于小 F 患有严重的强迫症,他觉得这个字符串并不优美,他决定对它做一些 操作: 每次操作从字符串中选择一个’ab’ 子串,并将其替换为’bba’。 如果一个字符串的所有’b’ 都在所有’a’ 前面,他认为这个字符串是优美的。 现在小 F 想知道,最少需要多少次操作,能使这个字符串是优美的,或者这个字 符串不可能变成优美的。 【输入格式】 从文件 string.in 中读入数据。 一行一个只由’a’ 和’b’ 组成的字符串。 【输出格式】 输出到文件 string.out 中。 输出一行一个整数,如果无解,输出“-1”。否则输出最少操作次数对. 1000000007 取. 模. 。 大水题,手推五分钟就切了。 #include<bits/stdc++.h> using namespace std; #define ll long long const int N=1000007; const ll mod=1000000007; ll dis[N]; char c[N];

【CSP模拟赛】独立集(最长上升子序列&大力猜结论)

随声附和 提交于 2019-12-01 05:01:11
题目描述 有一天,一个名叫顺旺基的程序员从石头里诞生了。又有一天,他学会了冒泡排序和独 立集。在一个图里,独立集就是一个点集,满足任意两个点之间没有边。于是他就想把这两 个东西结合在一起。众所周知,独立集是需要一个图的。那么顺旺基同学创造了一个算法, 从冒泡排序中产生一个无向图。 这个算法不标准的伪代码如下: void bubblesortgraph(n,a[]) //输入:点数n,1到n的全排列a //输出:一个点数为n的无向图G {// 创建一个有n个点,0条边的无向图G。 do{ swapped=false for i 从1 到n-1 if(a[i]>a[i+1]) { //在G中连接点a[i]和点a[i+1] //交换a[i]和a[i+1] swapped =true } }while(swapped); //输出图G。 } //结束。 那么我们要算出这个无向图G最大独立集的大小。但是事情不止于此。顺旺基同学有时候心情会不爽,这个时候他就会要求你再回答多一个问题:最大独立集可能不是唯一的,但 有些点是一定要选的,问哪些点一定会在最大独立集里。今天恰好他不爽,被他问到的同学 就求助于你了。 输入格式 输入包含两行,第一行为N,第二行为1 到N 的一个全排列。 输出格式 输出包含两行,第一行输出最大独立集的大小,第二行从小到大输出一定在最大独立集 的点的编号。 输入样例 3 3

【CSP模拟赛】益智游戏(最短路&拓扑排序)

蹲街弑〆低调 提交于 2019-12-01 04:58:29
题目描述 小P和小R在玩一款益智游戏。游戏在一个正权有向图上进行。 小P 控制的角色要从A 点走最短路到B 点,小R 控制的角色要从C 点走最短路到D 点。 一个玩家每回合可以有两种选择,移动到一个相邻节点或者休息一回合。 假如在某一时刻,小P 和小R 在相同的节点上,那么可以得到一次特殊奖励,但是在每 个节点上最多只能得到一次。 求最多能获得多少次特殊奖励 输入格式 第一行两个整数n,m 表示有向图的点数和边数。 接下来m 行每行三个整数xi,yi,li,表示从xi 到yi 有一条长度为li 的边。 最后一行四个整数A,B,C,D,描述小P 的起终点,小R 的起终点。 输出格式 输出一个整数表示最多能获得多少次特殊奖励。若小P不能到达B点或者小R不能到达D点则输出-1。 输入样例 5 5 1 2 1 2 3 2 3 4 4 5 2 3 5 3 5 1 3 5 4 输出样例 2 提示 对于30%的数据,满足n≤50 对于60%的数据,满足n≤1000,m≤5000 对于100%的数据,满足n≤50000,m≤200000,1≤li≤500000000 分析 A到B,C到D的最短路有很多条。 但对于任意一条A到B的最短路和任意一条C到D的最短路如果他们有交点,那交点一定是连续的,否则一定存在交点更多的两条最短路。 如图 如果A到B的路径(红色)与C到D的路径(蓝色