CSP
文章平均质量分 54
无
旺 崽
这个作者很懒,什么都没留下…
展开
-
CSP 201703-3 Markdown
题目链接字符串模拟~我觉得这种模拟出得非常好,测试点给得很清楚,你就可以按测试点一个一个来,我们不难发现,区块的三种类型其实一样的,标题和无序列表其实就多了几个前缀,所以我们写一个段落处理的函数即可:题目明确说明超链接和强调会嵌套,所以我们要设两个变量,一个判断超链接里的强调,一个判断超链接外的,因为强调成对出现,只需要判断变量奇偶即可~处理超链接的时候比较麻烦,我们可以观察,超链接一定是以 ‘[’ 开始,以 ‘)’ 结尾,于是我们可以设一个 flag 进行分界,分别提取 [] 和 () 中的内容原创 2021-04-10 10:30:59 · 1915 阅读 · 0 评论 -
CSP 201812-3 CIDR合并
题目链接模拟+位运算~设置IP前缀结构体:ip,地址表示的十进制数a,b,c,d,地址对应的四段十进制数len,地址的前缀长度首先对输入的字符串操作,存入标准型的地址前缀,然后根据题目后面的三种操作写三个函数即可:简单排序函数若 a 包含 b 的匹配集,证明 a.len<b.len,且在 a 的高 a.len 位上和 b 的高 a.len 位一定相等比较复杂的操作,注意题目说两者前缀长度相同,此时我们需要用一个新的 IP 前缀 a’ 来替代现有的,题目讲得很清楚,将 a 的前原创 2021-04-09 21:51:59 · 1862 阅读 · 0 评论 -
CSP 201912-4 区块链
题目链接BFS 模拟~用一个二维数组存每个结点的主链,然后对每个结点建立结构体:currentTime——现在时刻id——邻居结点对应的链编号now——当前结点编号father——邻居结点编号把每个结点放入一个队列中进行 BFS 操作即可,每次操作判断是否更新当前结点的主链并修改邻居结点即可,具体注释见代码,AC代码如下:#include <bits/stdc++.h>using namespace std;typedef long long ll;const in原创 2021-04-07 20:56:41 · 1880 阅读 · 0 评论 -
CSP 201312-4 有趣的数
题目链接典型的数位DP~打表易发现所有符合条件的数都是以 222 开头的,那么一共有以下几种状态:只包含数字 2只包含数字 2,0只包含数字 2,3只包含数字 2,0,3只包含数字 2,0,1包含四个数字回答几个困惑,如果开头为 2,其他数字任选,那为什么不是 23=82^3=823=8 个状态呢?举例,为什么没有只包含 2,1的状态,因为 1 的位置必须出现在 0 后面,如果单纯只有 2,1 显然无法知道答案,所以出现 1 就必须出现 0,所以只有 6 个状态。我们用 dp[i][原创 2021-04-01 16:32:57 · 1914 阅读 · 0 评论 -
CSP 201312-3 最大的矩形
题目链接这题和 LeetCode 84 柱状图中最大的矩形 一模一样,思路也比较简单,就是利用单调队列或者单调栈找到位置 iii 坐边第一个小于它高度的下标 lll 和右边第一个大于它高度的下标 rrr,那么此时的最大面积就是 h[i]∗(r−l−1)h[i]*(r-l-1)h[i]∗(r−l−1),维护一个最大值即可,AC代码如下:#include <bits/stdc++.h>using namespace std;int n, a[1005], l[1005], r[1005]原创 2021-03-31 21:20:03 · 1876 阅读 · 0 评论 -
CSP 202009-3 点亮数字人生
题目链接建图 + DFS~题目比较简单,首先确定的是要建图的,那么对每个结点我们应该存哪些信息呢?我的结构体如下:kind,记录结点的元件种类val,记录元件的输入信号father,记录元件的父亲个数,这个我个人认为非常重要,因为在找环的时候,我们可以记录每个结点的遍历次数 cnt,若 cnt > father 证明图中一定出现了环son,记录元件儿子结点的编号这题因为所有元件的种类和编号固定,且编号不重复,所以可以直接用 map 对元件进行编号~至于求元件的值,直接用 DFS原创 2021-03-19 21:28:37 · 2144 阅读 · 1 评论 -
CSP 202009-4 星际旅行
题目链接简单几何~这题我一开始想复杂了,在判断线段和黑洞是否相交时以为要算 nnn 维直线方程,再套一个题目所给的距离公式,后来发现那完全是误导~我们不妨想想题目为什么要给海伦公式,仔细一想任意两点和黑洞中心的三角形的高不就是距离么,这样一来,在判断位置关系上的难点就解决了~那么如果两点所连线段有一部分在黑洞内部,显然我们必须要求一段弧长,拿二维举例,如下图:我们要求弧 CD,就必须要求出 ∠β∠\beta∠β,而 β=∠AOB−∠α−∠γ\beta=∠AOB-∠\alpha-∠\gammaβ原创 2021-03-18 10:06:05 · 1764 阅读 · 0 评论 -
CSP 202012-5 星际旅行(60分)
题目链接一个优秀的 OI 选手一定要学会如何在实力范围内骗最大的分,我们每一题可以都不求满分,但是要尽可能拿到最多的分~就拿这题来说,个人觉得比那道模拟好拿分,首先看第一个 20 分,看数据范围很明显就是送的,就是暴力,这个 20 分一定要拿到手~接着看第二个 20 分,只有区间更新和区间求助,非常明细的线段树,送分~接着看第三个 20 分,这里就比较难了,我们发现此时的线段树要两种操作,一个区间加值,一个区间求值,此时我们需要先乘再加,添加一个乘的懒惰标记,具体模改看我代码~到这里你就已经有了原创 2021-03-16 21:40:40 · 2650 阅读 · 0 评论 -
CSP 201812-2 小明放学
题目链接感觉是最坑的第二题了/(ㄒoㄒ)/~~我直接把坑点说一下吧:红绿灯的顺序是 绿->黄->红 交替黄灯必须要等!!!emmm,在我的潜意识里,黄灯=绿灯,????黄灯等完还要等红灯知道上面的坑点后这题就是比较简单的取模运算了,我用 py 写的,AC代码如下:r, y, g = map(int, input().split())n = int(input())ans = 0for _ in range(n): X, Y = map(int, input().原创 2021-03-26 16:48:45 · 1888 阅读 · 0 评论