2019.9.19 csp-s模拟测试47 反思总结】的更多相关文章

思路接近正解?都想到了?这都是借口呀. 没有用的,往前走吧. T1:Emotional Flutter 我的做法和题解不太一样,我把s放在最后考虑了. 因为出发以后步幅是一样的,所以每一个黑条可以ban掉一段出发点.把黑条的左右边界%k存成区间,每个黑条可以存一个或者两个区间[跨越k这个边界].然后像以前写区间覆盖的贪心一样按左端点排序,看看有没有长至少为s的空余. 代码: #include<iostream> #include<cstdio> #include<cstrin…
打开题面,T3似乎被换过了.(那我就更有理由直接弃掉了) T1是我最害怕的乱搞题,赶紧扔了看T2.发现是个sb板子?雨天的尾巴弱化版? 然而线段树合并早忘干净了(最近几道可以线段树合并的题都是用别的方法做的QAQ).yy了半天尝试码了一下发现完美爆炸,内心慌的一批,不停在想这水题现在得有多少多少人切了. 出去上了个厕所,期间被原先的同学抓住问了几句,回来感觉心态稍好.很快搞出一个$O(n^2\ log\ n)$的做法调了出来,感觉数据范围刚好不会被卡.然后开始肝T1,尝试了各种奇特办法都以码力不…
2019.8.3 [HZOI]NOIP模拟测试12 C. 分组 全场比赛题解:https://pan.baidu.com/s/1eSAMuXk 刚看这题觉得很难,于是数据点分治 k只有1和2两种,分别讨论: k=1:根据人类直觉,不难想到一种贪心策略:从前往后扫,若扫到的数能加入当前这段就加入,否则再开一段新的. 于是你就WA了... 题目要求字典序最小,而我们的策略会让当前段尽可能长,所以划分点会靠后.例如:1 2 3 4 5,可以分为{1},{2,3,4},{5}三段,而我们的策略得到的答案…
2019.8.3 [HZOI]NOIP模拟测试12 B. 数颜色 全场比赛题解:https://pan.baidu.com/s/1eSAMuXk 数据结构学傻的做法: 对每种颜色开动态开点线段树直接维护 操作一区间查询 操作二转化为单点修改 常数有点大,需要稍微卡常. 正解: 对每种颜色开vector存储出现位置(下标),可以发现每种颜色出现位置满足单调性,操作一直接二分找到这段区间,操作二找到两个位置修改. Code: #include <bits/stdc++.h> using names…
2019.8.3 [HZOI]NOIP模拟测试12 A. 斐波那契(fibonacci) 全场比赛题解:https://pan.baidu.com/s/1eSAMuXk 找规律 找两个节点的lca,需要能快速根据编号求出父亲的编号. 斐波那契数列:1.2.3.5.8.13.21... 第10对兔子的父节点:斐波那契数列中小于10的最大项为8,所以第10对兔子的父节点为10-8=2. 很容易理解:第5个月时,共有8对兔子(斐波那契第5项),到了第6个月时,共13对兔子.多出的5对兔子,一定是已经成…
模拟测试20的还没改完先咕着 各种细节问题=错失190pts T1大约三分钟搞出了式子,迅速码完,T2写了一半的时候怕最后被卡评测滚去交了,然后右端点没有初始化为n…但是这样还有80pts,而我后来还剩十分钟的时候写了个枚举用小数据把自己的80分代码卡掉了,后来交了个枚举60分… T2枚举的30pts和exgcd的20pts都爆炸了. T3还好,一眼数位DP也的确是数位DP,基本上推出正解来了,但是在前导0的地方卡了很久…最后急匆匆写了个枚举交上去了,加上特判一共40pts. T1折纸: 思路很…
日常爆炸,考得一次比一次差XD 可能还是被身体拖慢了学习的进度吧,虽然按理来说没有影响.大家听的我也听过,大家学的我也没有缺勤多少次. 那么果然还是能力问题吗……? 虽然不愿意承认,但显然就是这样.对于多次考试来说,身体原因状态原因都是一时的理由,而肉眼可见的下滑不能用这些去掩饰. 今天还有考试,让我看看我是不是到此为止. T1建设城市: 一眼组合数学插板法+容斥,抓起笔写了写式子,插板法没有难度,容斥就emmmm. 没写过容斥的题…也没有自己推过式子… 再看一眼数据范围看看能拿多少部分分,想到…
延迟了一天来补一个反思总结 急匆匆赶回来考试,我们这边大家的状态都稍微有一点差,不过最后的成绩总体来看好像还不错XD 其实这次拿分的大都是暴力[?],除了某些专注于某道题的人以及远程爆踩我们的某学车神犇 大约不粘题面也是可以的[越来越懒] T1: 当时我甚至完全没有正解的思路,最后sort骗了四十分跑路 [某种意义上还挺友好的?送你四十分] 然后接下来的六十分,出题人:想都别想 看看正解,线段树分别维护区间里26个字母出现的数量,每次操作变成查询26次[或者一次查询统计26个],然后修改最多26…
[题解在下面] 早上5:50,Gekoo同学来到机房并表态:“打暴力,打暴力就对了,打出来我就赢了.” 我:深以为然. (这是个伏笔) 据说hzoi的人还差两次考试[现在是一次了]就要重新分配机房,不知道我们几个的安排是什么样的,瑟瑟发抖.各种原因作用,心情有些微妙地一遍瞎画一边等着7:10考试开始. 不怎么适合涂鸦的本,不怎么适合涂鸦的笔,不怎么适合涂鸦的心情.考试开始,我摔笔看题. T1上来感觉东西很多很麻烦,过了一遍题发现大概要耐下心来去仔细推一推性质,于是没细想先跳过.然后看T2,受到上…
ISOLATION 也不粘上面的了,先管好自己. 附了个近期总分,可以看出什么. 反思一下考试心态: 开场看题目,T1傻逼题不用脑子,T2傻逼板子,T3... 这T3是啥啊?没看懂题目啊?再看一遍.啥啊?为啥手模不过样例啊??? 在题目上卡了将近二十分钟,然后决定还是先去打T1. 边想边打二十多分钟搞定,一遍过样例,交了. 进T2,以为不会卡两个log的所以打了启发式,虽说也想到了线段树合并但是感觉没必要也懒得打,因为复杂度证错了. 码了不到半个小时,码完了,赶上下课了,想去趟厕所. 然后遇到了…
头一次做图巨的模拟题OWO 自从上一次听图巨讲课然后骗了小礼物以后一直对图巨印象挺好的233 T1: 对于XY取对数=Y*log(x) 对于Y!取对数=log(1*2*3*...*Y)=log1+log2+log3+...+logY 因为数字大小不超过1e5,直接累加最后比较就可以了 #include<iostream> #include<cstdio> #include<cmath> using namespace std; int t,x,y; double a,b…
咕咕咕的冲动如此强烈x T1x: 看完题目想了想,感觉把gcd不为1的强行放在一组,看作一个连通块,最后考虑连通块之间的组合方式就可以了. 然后维护这个连通块可以写并查集可以连边跑dfs怎么着都行… 然而我在处理数字分解质因数这里T掉了,原因是一个很显然的优化写法我基本没怎么写过.线性筛的时候记录每个数是被哪个质数标记过的,分解一个数的时候直接处理记录下来的质数就可以. #include<iostream> #include<cstdio> #include<cmath>…
写个博客总是符合要求的对吧 回来以后第一次悄悄参加考试,昨天全程围观… 然后喜提爆炸120分wwwwwwwww T1用了全机房最慢的写法,导致改掉死循环T掉的一个点以后还是死活过不了最后一个点.T2全世界都会DP只有我没做过关路灯也现场推不出来我不如原地爆炸死得干脆一点还非要DFs骗个40分.T3浪费两个小时,考后不甘心地尝试理解题解和std然后死得如烟花一般惨淡. 哇,墨雨笙今天的洛谷运势,大凶. T1引子: 引子,作用是引出全文,交代背景,balabalabala…=开局爆炸. 已经不是细节…
一如既往先放代码,我还没开始改… 改完T1滚过来了,先把T1T2的题解写了[颓博客啊] 今天下午就要走了,没想到还有送行的饯别礼,真是欣喜万分[并没有] 早上刚码完前面的总结,带着不怎么有希望的心情开始考试,居然一反前两次考试的没精神+早早做完题开始摸鱼,这次想了很久码了很久一直紧张到最后一刻 挺开心的,虽然还是考得不太好,但好歹T2是为数不多考场AC的人[虽然讲过…],并且抢了第一个AC T1我打得挺麻烦的,居然也没崩0分,大约已经有进步了…只是T3实在没时间了很遗憾 于是我成为了得分结构最奇…
这次意外考得不错…但是并没有太多厉害的地方,因为我只是打满了暴力[还没去推T3] 第一题折腾了一个小时,看了看时间先去写第二题了.第二题尝试了半天还是只写了三十分的暴力,然后看到第三题是期望,本能排斥,跑回去写第一题了. 手画第一题的样例2,指着图片一点一点调试发现思路中间就错了,然后开了份新代码重写去了,好在原来那份里大部分东西都用得上.按数据点骗分,推出了y=2的性质,最后居然多拿了25分. 只剩下二十分钟了,第三题直奔数据范围.把k=2的分手推出来,然后非常没有梦想地选择搜索过小于8的数据…
t1-Painting 这道题目比较简单,但是我比较弱就只是写了一个链表合并和区间DP. 别人的贪心吊打我的DP,嘤嘤嘤. #include <bits/stdc++.h> #define ll long long using namespace std; namespace chhokmah { #define N 100005 #define M 5005 int a[N], l[M], r[M], pos[N]; int n, m, cnt; ll sum[M], f[M][M]; ll…
T1: 求出前缀和,三维偏序O(nlog2n)CDQ 二维其实就可以 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; ,inf=; *N]; long long a[N],b[N]; *N]; struct node{ int ha,hb,id; }s[N],d[N]; void add(int x,int k){ f…
今天快乐的墨雨笙因为什么而几乎爆零了呢? 顾此失彼+不会对拍+无脑的复杂度 今天高兴的墨雨笙又因为什么调了一个下午呢? 不明题意+不想范围+板子低级错误 R.I.P. T1: //唉 //害怕TLE,所以没有用while //害怕不正确,所以两种情况又算了两次 //细节全都考虑不清,何苦呢我……? #include<iostream> #include<cstdio> #include<cmath> using namespace std; const long lon…
有一场没一场的233 T1: 胡乱分析一下题意,发现和为n的x个正整数,不同的数字种类不会超过√n个.假设这x个数字都不同,最多也就是(x+1)*x/2=n. 所以可以维护现有的size值以及对应的数目cnt.修改的时候用并查集维护牌堆,然后在储存size值和cnt的数组里暴力进行修改,为了使记录size值的val数组有序,可能需要把数组整体平移的操作,复杂度O(√n). 询问的时候维护两个指针l,r.r指向与val[l]的差距第一个大于等于c的位置,每次移动l的时候维护r以及r位置及以后的后缀…
今天的主人公是什么? 60.1K!!!! 先扔代码再更新防止我等会儿一上头不打算写完题解 T1: #include<iostream> #include<cstdio> #include<algorithm> using namespace std; ; int n,k; ],f[][]; int main() { scanf("%d%d",&n,&k); ;i<=n;i++)scanf("%lf",&…
一次非常神奇的考试,考完试以后看着T2的0pts突然笑死我自己 太智障了这什么神奇的题意理解错误23333 T1一眼分类讨论,两眼二分,觉得分类讨论有点玄学但是出题人八成不会卡[何],然后本着对二分的恐惧打了玄学 关于T2,我没了 豹笑 我没想到一只鸟可能被打两枪你敢信 T3?今天有T3? T1: 正解是显而易见的二分.然而我比较懒,又经常在二分上炸掉[写得比较丑],而且第一眼其实并不是二分. 如果k最后小于1,那么相对于原来1个单位时间的移动来说,肯定这种上下移动的步数越多越好.先dfs一次,…
继续存档 早上来补了一下昨天的题,不过肯定这两天的没法完全补起来 T1: 经典思路:关于位运算的题讨论每一位的贡献 #include<iostream> #include<cstdio> using namespace std; ;; long long l,r,all,cnt,ans; long long count(long long x,int k){ ; num+=x/(1ll<<(k+)); x-=(1ll<<(k+))*num; num*=(1l…
重来重来,刚刚就当什么都没发生 今天的题属实有些迷惑,各种意义上…总之都很有难度吧.不满归不满,这套题的确不是什么没有意义的题目. 为了考验自己的学习能力记忆力,决定不写题解,扔个代码完事了 其实是懒得写一大堆式子的推理以及想表示一下对出题人的敬意 你就不怕你到时候回来看一脸懵逼吗 T1: #include<iostream> #include<cstdio> using namespace std; ,mod1=; long long n; int main() { scanf(…
T1: 把每一行状压,按行DP.设fi,j,k,i表示第几行,j是当前行的1覆盖状态,k是当前行选择按钮的状态.转移的时候枚举j和k,再枚举下一层的按钮选择情况l.如果l和j可以全覆盖当前层则转移合法,根据下一层选择l状态的代价进行转移.预处理一行每一种选法i可以覆盖到的状态di,各行选择按钮状态i对应的代价dpi,以及每一行的初始状态bi.转移时下一层的覆盖情况就是k|dl|bi+1.初始化第一层是所有选法i对应的代价,即f1,d[i]|b[1],i=dp1,i. 整个DP过程的复杂度是O(3…
不咕咕咕是一种美德[大雾] 头一次体会到爆肝写题解??? 这次考试我们没赶上,是后来掐着时间每个人自己考的.我最后的分数能拿到152…熟悉的一题AC两题爆炸. 强烈吐槽出题人起名走心 T1联: 发现每一次加入一个区间的操作,只有区间的l或者r+1有可能成为答案.那么考虑能不能用这两个点代表一整个区间,维护全局最靠左的0在什么地方. 把每个操作的l和r+1都存下来,离散化,建一棵线段树.每一次区间操作都针对线段树上的a[l]-a[r+1]-1这部分(a[x]为x离散化以后的排序,即线段树里的位置)…
这个起名方式居然还有后续?! 为什么起名不是连续的?! T1想了半天,搞出来了,结果数组开小[其实是没注意范围].T2概率期望直接跳,后来翻回来写发现自己整个理解错了期望的含义[何].T3错误想到赛道修建结果来了个错误贪心. 关于T2破罐子破摔输出k居然骗了二十分这件事…… T1u: 一开始各种想偏,维护哪种值是奇数或偶数个,考虑每次操作影响哪些值变化…这些全都跑出来了. 大概过了一个世纪那么长,突然想着能不能直接优化操作的过程啊,然后对暴力进行钻研,终于开始想到差分. 然后觉着nq的复杂度过不…
刚刚写了一个小时的博客没了,浏览器自动刷新. 一!个!小!时! 鼠标键盘电脑哪个都不能摔,气死我了. 垃圾选手T1T2没思路,T3倒是想出来得比较早,靠T3撑着分数. 数据结构学傻选手,属实垃圾. T1平均数: 一个序列的所有数如果减去x,那么平均数也会减去x.可以二分这个x,统计序列里平均数小于0的序列的个数,含义为原序列平均数小于x的序列的个数.最后统计值小于k且最接近k的x就是所求答案. 序列的平均数小于0,那么序列的和也一定小于0.表现在前缀和上即为一个区间的sumr<suml-1,转化…
没赶上昨天的考试,不过我这种人考不考都没有多少提升吧. 挺服气的一场考试,有生以来参加的最让人想笑的考试. T1:养花 取模,区间询问最大值,有点套路化的预处理答案…难点也在预处理上.容易想到分块然后依次处理每个块的答案. 然后考虑每个块内怎么处理每个k.发现对于一个模数k,最大值一定是每个k的倍数的前驱,即比k小的最大值.比k*2小的最大值,比k*3小的最大值…这些数取max,然后%k. 那么在每个块内先扫一遍存下所有值,然后扫一遍值域使每个值域上的位置存小于等于它的最大值.接着枚举k进行处理…
头疼,不说废话了,祝大家rp++. T1: 暴力枚举,n3. 枚举两个串开始匹配的位置,每一次尽量修改. #include<iostream> #include<cstdio> using namespace std; int n,k,cnt,num,ans; ],b[]; int main() { scanf("%d%d",&n,&k); scanf(); scanf(); ;i<=n;i++){ ;j<=n;j++){ cnt=,…
神志不清: 回去休息(x)继续考试(√) 非常爆炸的一次考试.看错题码完T1回去再看发现自己过于幼稚,T2读完题看着16mb的空间秒出正解然后逻辑出现致命失误100pts->0pts,T3看了一会题直接放弃,10pts最后有时间再说->没时间,下一个. 还有什么好说的呢,略略. T1:Set 曾经学完鸽巢原理[抽屉原理]以后还想过怎么考这个知识点的问题,最后没想出个所以然,断定一定是看不出来考点的考法.然后我真没看出来…一开始还读错题.T2打了个自以为的正解以后看了一会儿T3翻回来检查这道题,…