csp-s模拟64trade,sum,building题解】的更多相关文章

题面:https://www.cnblogs.com/Juve/articles/11639755.html trade: 70分sbdp,然后一直想优化,dp还是很好写的 正解是反悔贪心 维护一个小根堆,每到一天,设当前的值是a,堆中最小值是b,如果a>b,那么给ans加上a-b 然后堆中插入两个a,因为如果以后还有更优的一个c,那么a-b+b-c=a-c,相当与选了c 第二个a用于以后来卖a,和以后卖出的货物配对. #include<iostream> #include<cst…
[10.5NOIP普及模拟]sum 文章目录 [10.5NOIP普及模拟]sum 题目描述 输入 输出 输入输出样例 样例输入 样例输出 解析 code 题目描述 小x有很多糖果,分成了 N 堆,排成一列.小x说,如果小y能迅速求出第 L 堆到第 R 堆一 共有多少糖果,就把这些糖果都给他. 现在给出每堆糖果的数量,以及每次询问的 L 和 R,你需要帮助小y,把每次询问的结果求出来. 注意,你不需要考虑糖果被小y取走的情况. 输入 第 1 行2 个整数 N, M, 分别表示堆数和询问数量. 第…
题目链接: 咕咕 闲扯: 哈哈这道T3考场上又敲了5个namespace,300+行,有了前车之鉴还对拍过,本以为子任务分稳了 结果只有30分哈哈,明明用极限数据对拍过不知怎么回事最后数据又是读不全,玄学,要是NOIP这样就GG了 首先第一个子任务贪心模拟即可,但是第二个子任务就像NOID1T1,你啥也不能输出但是我输出了0哈哈,真的是傻到家了,第三个子任务简单考虑一下即可;第四个子任务已经想到了偏正解的做法,但是用了个很SB的方法维护,昨天的T3也是这样但是都GG了...感觉退役钦定了 感谢W…
contesthunter暑假NOIP模拟赛#1题解: 第一题:杯具大派送 水题.枚举A,B的公约数即可. #include <algorithm> #include <cmath> #include <iostream> using namespace std; #define MAXN 100010 struct node { int a,b,c; }ans[MAXN]; int main() { int R, G; scanf("%d%d",&…
题目链接: 咕 闲扯: 终于在集训中敲出正解(虽然与正解不完全相同),开心QAQ 首先比较巧,这题是\(Ebola\)出的一场模拟赛的一道题的树上强化版,当时还口胡出了那题的题解 然而考场上只得了86最后一个substask被卡了,一开始以为毒瘤出题人卡常(虽然真卡了)卡线段树,题目时限1.5s,评测机上两个点擦线1500ms左右,剩下两个点不知道.然后本地测一下都是1900+ms!机子性能已经这样了吗....结果把快读换成\(fread\),TM过了!最慢的1200+ms!!!这......无…
??大部分人都觉得T3是道不可做题去刚T1T2了,于是我就侥幸苟到了前面? 这场考试比较成功的就是快速水掉了T1T2的部分分,1h拿到88分起码为之后硬肝T3上了保险(赛后发现就算T3爆零也能rank15?) 剩下也就没什么了……T3的分完全是时间堆出来的,还有运气成分.因为当时第一个A掉了二分答案专题的奶牛健美操那道题,所以看到直径下意识想维护子树最长链+次长链,而且要不是前面两道题都不会我才不敢写那个恶心至极的分类讨论换根QAQ.单就方法而言,我打的东西其实挺无脑的,并没有思考太多针对本题的…
[9.14NOIP模拟pj]wtaxi 题目简化 有K辆车,N个人,上车给D元,只有S分钟.上车后无论多少人都要给D元,原地等多少分钟就没了多少元.求最小花费的钱. 我的思路 毫无疑问,此题可以用搜索做,DFS和BFS都行. 程序1 设三个参数,分别为(第l辆车,共花了sum元,还剩下m人).花的时间在后面加上,否则有点麻烦一点. 两种情况:选或不选: 不选 l+1: 选 l+1,已经花的钱+时间*上车人数+上车需要的钱(D),m-上车的人 程序2 我觉得,纯暴搜定然不过,所以加个记忆化.因为记…
这部分的题目都有一定难度,有兴趣的同学可以钻研一下. 特此感谢来自BDT20030  tql的支持. 2:素数的和-2 题意: 计算不大于m的素数之和.(多么容易理解的题目啊,对吧) 题解(有点复杂的算法实现): 这题的难度就在于如何在不超时的情况下完成计算.(ps:内存上没卡你,不然更痛苦) 请直接看代码,注释打了真的很久,把30号的超纲代码改得不超纲还能绿也用了好久. 上板子(埃氏筛,稍易): #include<iostream> #include<cmath> #includ…
为了各位朋友的身心健康(不是),我们按照题目难度顺序来写题解. 第一次写题解,希望多点包容和鼓励(恬不知耻 1:谁先输出-4 题意: 输入3个整数,按从大到小的顺序输出,每两个数字间加一个空格. 题解: 输入三个数,用一下排序(冒泡/选择 排序法,或者 A?B:C),然后就可以输出了. 上板子(冒泡排序法): for (int i = 1;i < n;i++) { for (int j = 1;j <= n - i;j++) { if (t[j] > t[j + 1]) swap(t[j…
题意:给定一种二进制操作nand,为 0 nand 0 = 10 nand 1 = 1 1 nand 0 = 1 1 nand 1 = 0 现在要你模拟一个队列,实现PUSH x 往队头塞入x,POP队尾退出,REVERSE翻转,QUERY询问队头到队尾的nand和. 思路:其他都可以模拟,但是n为2e5,如果直接求nand和必超时,找规律可得,任何串和0nand都为1,那么我们维护一个双端队列保存0出现的位置,然后每次就计算离队尾最近的0和队尾间有几个1. 代码: #include<set>…
T1准确率 [题目描述] 你是一个骁勇善战.日刷百题的OIer. 今天你已经在你OJ 上提交了y 次,其中x次是正确的,这时,你的准确率是x/y.然而,你最喜欢一个在[0; 1] 中的有理数p/q(是一个既约分数),所以你希望再进行若干次提交,使你的准确率变为p/q. 当然,由于你的实力很强,你可以随意决定进行多少次正确的提交和多少次错误的提交. 同时,你不希望把一天的时间都用在提交上,所以你想求出最少还要进行多少次提交(包括正确的和错误的),才能达到这一目标.注意:本题中,0/1 和1/1 都…
    一个类似2-SAT的思想,但是简化了很多.只需要用到并查集实现. 题目描述 企鹅国打算种一批树.所谓树,就是由$N$个结点与$N-1$条边连接而成的连通无向图.企鹅国的国王对于这些树有下列要求: 1. 树没有指定根,但它的形态是给定的(即这$N-1$条边是给出的):2. 树的每条边上可以放置一朵花(当然也可以不放置)3. 共$Q$条约束,第$i$组约束规定:标号$u[i]$的结点到标号$v[i]$的结点的简单路径上,花的数量为奇数或偶数. 现在,国王想事先知道他最多能种多少棵不一样的树(…
考试的时候居然睡着了... T1的60分做法很明显,3^n枚举每个状态并进行验证 (考试剩十分钟结束的时候我开始打,,不到五分钟就写完了? 暴力(60分) #include<bits/stdc++.h> #define int long long #define re register #define ll long long #define inc(i,j,k) for(re int i=j;i<=k;++i) #define dec(i,j,k) for(re int i=j;i&g…
题目链接: while(1)gugu(while(1)) 闲扯 考场上怕T2正解写挂其他两题没管只打了暴力,晚上发现这题思维挺妙的 同时想吐槽出题人似乎热衷卡常...我的巨大常数现在显露无疑QAQ 分析 这道题yy出了一个似乎比solution更好理解的解法,一开始有\(n\)条一次函数,就有\(2^n\)种函数集合,显然每个集合也是一个一次函数\(T_i(x)=k_i x+b_i\) 我们把这个集合分成两种\(k_i<=0\)和\(k_i>0\),显然如果答案最后最大值的函数集合是第一种,那…
题目链接: 咕 闲扯: 这题考场上把子任务都敲满了,5个namespace,400行11k 结果爆0了哈哈,因为写了个假快读只能读入一位数,所以手测数据都过了,交上去全TLE了 把边分成三类:0. 需要染色的 1. 不需要染色的 2. 染不染色无所谓 考场上首先发现一个性质,就是一定存在一种最优解没有染任何一条本来不需要的染色边. 为啥?其实也挺显然的,因为你染色跨过这条边还得染这条边一次,不如直接只染左右的联通块,这样总路径长度还能更小 但是第三种边的呢?有个子任务就是枚举它染不染. 然后链上…
这次是zay神仙给我们出的NOIP模拟题,不得不说好难啊QwQ,又倒数了~ T1 大美江湖 这个题是一个简单的模拟题.   ----zay 唯一的坑点就是打怪的时候计算向上取整时,如果用ceil函数一定要先转化成double类型(话说我就这么掉坑里了?QwQ) 测试点 1: 0 次询问,所以直接freopen一下输出文件即可得分.期望得分 10 分. 测试点 4.5: 由于保证人物不移动,而且不捡拾出生点的物资也不在出生点打怪,所以攻击 防御一定全部为初始值,耗血一定为 0 ,直接输出 q 行数…
题目传送门(内部题63) 输入格式 第一行有一个整数$id$,表示测试点编号.第一行有一个整数$q$,表示询问组数.然后有$q$行,每行有两个整数$n_i,m_i$. 输出格式 一共有$q$行,每行一个整数表示每组询问的答案$S_{n_i,m_i}$对$10^9+7$取模的结果. 样例 样例输入: 151 12 13 24 35 5 样例输出: 2371532 数据范围与提示 对于所有数据,$1\leqslant q,n_i,m_i\leqslant 10^5$. 题解 考场上把$80$分部分分…
打开题面,T3似乎被换过了.(那我就更有理由直接弃掉了) T1是我最害怕的乱搞题,赶紧扔了看T2.发现是个sb板子?雨天的尾巴弱化版? 然而线段树合并早忘干净了(最近几道可以线段树合并的题都是用别的方法做的QAQ).yy了半天尝试码了一下发现完美爆炸,内心慌的一批,不停在想这水题现在得有多少多少人切了. 出去上了个厕所,期间被原先的同学抓住问了几句,回来感觉心态稍好.很快搞出一个$O(n^2\ log\ n)$的做法调了出来,感觉数据范围刚好不会被卡.然后开始肝T1,尝试了各种奇特办法都以码力不…
一定要分析清楚复杂度再打!!!窝再也不要花2h20min用暴力对拍暴力啦!!! 雨露均沾(滑稽),尽量避免孤注一掷.先把暴力分拿全再回来刚正解. 即使剩下的时间不多了也优先考虑认真读题+打暴力而非乱搞(当然是在乱搞得分没有保证的情况下). 明明是最近几套题中最难的却改的最顺利?大概是因为也就这次考场上认真思考了吧. A.简单的区间 考场启发式合并复杂度写假了……和暴力没区别QAQ 首先考虑题目中柿子的具体含义:对于一段区间,以最大值所在处为界(不含)劈成两半,如果这两半的和是K的倍数就符合条件.…
不要陷入思维定势,如果长时间没有突破就要考虑更改大方向. 不要把简单问题复杂化. 做完的题就先放下,不管能拿多少分.不能过一段时间就回来调一下. $Solutions:$ A.次芝麻 因为$n+m$始终为定值,所以可以发现每次操作相当与对$n$或$m$任意一个数在模$n+m$意义下$\times 2$,直接上快速幂. #include<bits/stdc++.h> using namespace std; typedef long long ll; ll n,m,K; ll qpow(ll a…
又考挂了QAQ 总rank直接滑出前20 晚上考试脑子还算比较清醒,可惜都用来xjb乱想错误思路了. T1一眼推柿子,然而并没有头绪所以先码了个暴力.然后…… 一个垃圾暴力我调了1h,大概解决了两位数个sb错误之后终于调出来了.本来觉得考了这么多场代码能力长了不少,暴搜什么的一边过样例应该没问题的.可能这次写的时候比较急躁?抑或是学了几天文化课码力大减?反正浪费这么多时间是很不应该的. 暴力尽量一遍打对,它不配你在调试上花时间. 然后写了个打表程序去看T2.因为T1只打了个暴力所以A掉T2的想法…
Orz 因为有T的限制,所以不难搞出来一个$O(T^3)$的暴力dp 但我没试 据说有30分? 正解的话显然是组合数学啦 首先$n,m$可能为负,但这并没有影响, 我们可以都把它搞成正的 即都看作向右上方走 那么可以想到真正有效的步都是向右或者向上走的 其它两个方向都是在起反作用 设u为向上走步数,d下,l左,r右 它们满足关系: $r-l=m,u-d=n,T=u+d+l+r$ 因为有效步数为$m+n$,所以$T-m-n$必为偶数 因为要保证剩下的步上下均分,左右均分 枚举$udlr$其中一个可…
[9.14NOIP模拟pj]wtaxi 搜索…
题面:https://www.cnblogs.com/Juve/articles/11694454.html 75考了数学,化学和物理... T1: 假设有一个A和B,那么对于每一个j!=i,都有$\frac{A}{a_i}+\frac{B}{b_i}<=\frac{A}{a_j}+\frac{B}{b_j}$ 化一下式子,会卡出$\frac{A}{B}$的一个范围,判断范围是否有解即可 然后你n方了,75分 正解凸包? #include<iostream> #include<cs…
题面:https://www.cnblogs.com/Juve/articles/11678524.html 骆驼:构造题,留坑 根据5×5的矩形构造成大矩形 毛一琛: mid in the middle思想,先dfs一半,然后dfs后一半 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<unordered_map> #inclu…
题面:https://www.cnblogs.com/Juve/articles/11655531.html 三道数据结构? d: 贪心,先按a排序,然后枚举删了前i个a值比较小的,然后在剩下的里面删m-i个b小的,然后统计答案 用主席树查b排名(m-i+1)或用堆维护b #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<queue>…
题目要求可以转化成一个01串,让通过最少次数把序列变成中间是0,两端是1: 首先我们可以考虑一些性质: 最优解一定是每次操作都把0和1交换 这个很好理解,如果你交换同一种东西,跟没换一样 这个题卡就卡在他是一个环,由于可以两头交换,所以不好处理,我们的做法是破环为链: 对于整个环,在最优解情况下,一定有两个相邻的位置没有被交换过 如果所有相邻位置都换过,那么他就换回去了,也是无效操作,所有我们可以枚举这个点作为断点,把环视为n个序列 断点确定后,我们设置一个目标状态,就是是一种颜色(0或1)全部…
前 言: 一直很想写这道括号树..毕竟是在去年折磨了我4个小时的题.... 上午小测3 T1 括号序列 前言: 原来这题是个dp啊...这几天出了好几道dp,我都没看出来,我竟然折磨菜. 考试的时候先打了个暴力,然后就开始往容斥上想.... 解析: 考虑dp. 令dp[i] 表示以i为结尾的,合法的子串数量. 令match[i] 表示进行括号匹配时,与i匹配的括号的编号. (以上i都是右括号,如果是左括号置为0即可) 然后,就有: if(match[i]) dp[i]=dp[match[i]-1…
T1 园艺工人的求助 [题目描述]终于,在一段繁忙的训练之后,到了NOIP 的举办的时候.同学们坐上了大巴车,享受着沿途的风光,讨论着未解决的问题,憧憬着NOIP 赛场上切题的样子.很快,大巴车到了大连大学科技楼,也就是辽宁NOIP 的举办地点.大连大学科技楼是一幢宏伟的建筑,楼前摆放有一排花,共有n 盆.花一共只有26 种,分别用26 个小写英文字母表示,也就是说,楼前的这排花可以用一个仅包含小写英文字母的字符串表示.大连大学雇了一个园艺工人,专门打理科技楼前的花.园艺工人看见你,热情地向你打…
题意:给你一个规则,问你写的对不对. 思路:规则大概概括为:不能出现前导零,符号两边必须是合法数字.我们先把所有问号改好,再去判断现在是否合法,这样判断比一边改一边判断容易想. 下面的讲解问号只改为+或1... 对于(null)0?,+0?,*0?一律只能改为+,否则必是前导零,其他情况问号改为1,判断情况的时候注意一下i的范围,比如i==0时,s[i - 1]越界. 判断对错时对++,(null)+,+(null)符号两边没数字的判错,如果01前是null或者+*判错. 给几个样例: 0??0…