csp
_努力努力再努力_
如果你吃不了学习的苦,那就只能吃生活的苦
展开
-
1144 The Missing Number (20 分)
Given N integers, you are supposed to find the smallest positive integer that is NOT in the given list.Input Specification:Each input file contains one test case. For each case, the first line gives a positive integer N (≤10 5 ). Then N integers are give原创 2021-11-29 09:41:41 · 63 阅读 · 0 评论 -
AcWing 503. 借教室(超时原因,二分详解)
在大学期间,经常需要租借教室。大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室。教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样。面对海量租借教室的信息,我们自然希望编程解决这个问题。我们需要处理接下来 n 天的借教室信息,其中第 i 天学校有 ri 个教室可供租借。共有 m 份订单,每份订单用三个正整数描述,分别为 dj,sj,tj,表示某租借者需要从第 sj 天到第 tj 天租借教室(包括第 sj 天和第 tj 天),每天需要租借 dj 个教室。我们假定,租借者对教原创 2021-11-29 09:27:28 · 262 阅读 · 0 评论 -
Awing 最高的牛
题目描述有 N 头牛站成一行,被编队为1、2、3…N,每头牛的身高都为整数。当且仅当两头牛中间的牛身高都比它们矮时,两头牛方可看到对方。现在,我们只知道其中最高的牛是第 P 头,它的身高是 H ,剩余牛的身高未知。但是,我们还知道这群牛之中存在着 M 对关系,每对关系都指明了某两头牛 A 和 B 可以相互看见。求每头牛的身高的最大可能值是多少。输入格式第一行输入整数N,P,H,M,数据用空格隔开。接下来M行,每行输出两个整数 A 和 B ,代表牛 A 和牛 B 可以相互看见,数据用空格隔开。原创 2021-11-28 09:24:44 · 178 阅读 · 0 评论 -
AcWing 100. 增减序列
给定一个长度为 n 的数列 a1,a2,…,an,每次可以选择一个区间 [l,r],使下标在这个区间内的数都加一或者都减一。求至少需要多少次操作才能使数列中的所有数都一样,并求出在保证最少次数的前提下,最终得到的数列可能有多少种。输入格式第一行输入正整数n。接下来n行,每行输入一个整数,第i+1行的整数代表ai。输出格式第一行输出最少操作次数。第二行输出最终能得到多少种结果。数据范围0<n≤105,0≤ai<2147483648输入样例:41122输出样例:原创 2021-11-28 09:02:09 · 226 阅读 · 0 评论 -
201409-2画图
每一个格子用左下角的坐标点代替,定义一个数组,若点出现,就设置为 1。我一开始想的用 set 去重,但是要重写比较函数,此题还是数组方便一些。#include<iostream>#include<string>#include<algorithm>#include<bits/stdc++.h>#include<stack>#include<set>#include<vector>#include<m.原创 2021-11-25 09:41:07 · 97 阅读 · 0 评论 -
期 末 预 测 之 最 佳 阈 值
题目背景考虑到安全指数是一个较大范围内的整数、小菜很可能搞不清楚自己是否真的安全,顿顿决定设置一个阈值 ,以便将安全指数 转化为一个具体的预测结果——“会挂科”或“不会挂科”。因为安全指数越高表明小菜同学挂科的可能性越低,所以当 时,顿顿会预测小菜这学期很安全、不会挂科;反之若 ,顿顿就会劝诫小菜:“你期末要挂科了,勿谓言之不预也。”题目链接终于理解了这道前缀和的题目啦!想不到一年后的我再次进化,此题直接拿下!具体的思路就是运用前缀和的思想,大大降低了时间复杂度,如果用暴力法,时间是 n2,是原创 2021-11-02 16:11:46 · 412 阅读 · 0 评论 -
201403-2窗口(思路分析,清晰图解)
以前的 csp 题目真的是纯纯靠逻辑思维能力吗,本题,就是一个模拟,如果你能在草稿纸上把模拟思路搞定,其实编起来非常简单!相信题目的大概意思大家都读懂了,就是一个叠放窗口问题,点击哪个窗口,那个窗口就跑到最前面来,很容易想到队列或者栈,但其实模拟一下就会发现不可行,因为题目中说 剩余的窗口的层次顺序不变 如果是点击窗口,出栈或者出队,会非常麻烦,我们可以使用 vector 进行模拟如图:假如此时有 4 个窗口,初始化就是这样的,第一个窗口在最左侧如果我们点击的点,存在于 第二个窗口,第三四个都不.原创 2021-11-24 15:21:46 · 992 阅读 · 0 评论 -
201903-2二十四点
仿佛好像会,看了看以前写的栈的题目,发现好像又不会…中缀表达式求解,本题的思路:如果遇到数字,直接放入数字栈中如果遇到加号,直接将下一个数字放入栈中如果遇到减号,直接将下一个数字乘以-1放入栈中如果遇到乘号或者除号,将栈顶元素出栈,然后让此元素与下一个数字直接做运算即可模拟一下:9 + 3 + 4 * 3#include<iostream>#include<string>#include<algorithm>#include<bits/s..原创 2021-11-18 09:10:42 · 62 阅读 · 0 评论 -
201912-2 回收站选址
一开始想的,用数组,然后 10 的九次方太大,堆空间直接爆炸,用 vector 一样爆炸,最后使用结构体,本题就是一个双重 for,都没优化时间直接就过了,代码如下,相信一看就看懂了#include<iostream>#include<string>#include<algorithm>#include<bits/stdc++.h>#include<stack>#include<set>#include<vec...原创 2021-11-16 14:49:06 · 342 阅读 · 0 评论