- 2024-08-25题解:AT_joisc2017_f 鉄道旅行 (Railway Trip)
题意鉄道旅行(RailwayTrip)分析非常神仙的倍增做法。我们设\(l_{i,j}\)表示从\(i\)点出发,停靠\(2^j\)站后能抵达的最左位置。同理设\(r_{i,j}\)表示从\(i\)点出发,停靠\(2^j\)站后能抵达的最右位置。考虑如何更新这两个状态。因为可以走回头路,所以简单的\(l
- 2024-08-17『模拟赛』暑假集训CSP提高模拟23
Rank玩蓝图玩的A.进击的巨人(原题都是牛客的,没号所以不挂了)赛事看到概率期望一眼润,但是又可惜暴力分,遂打(最坏情况下)\(\mathcal{O(n^2)}\)暴力,结果很给力啊,调出来小样例后大样例嗖的一下就过了,惊喜了属于是,喜提100pts。事实上跑这么快是因为0的数量很平均,导致复杂度大
- 2024-08-15『模拟赛』暑假集训CSP提高模拟21
Rank意外地还凑合,本来以为这场要GG了。A.黎明与萤火原[CF963B]DestructionofaTree签,勉强签了。开始脑子乱,胡乱打了一个含有3个dfs函数,每个函数里含两次遍历链式前向星,不负众望大样例T了。后来也是摸着摸着就出正解了,先一遍dfs跑出基本的数据,然后再一遍df
- 2024-08-12『模拟赛』暑假集训CSP提高模拟19
Rank小挂,还好。A.数字三角形原[CF1517C]Fillomino2锣鼓Rmj炸了所以挂cf链接。签。倒叙考虑,优先向下,到底或者下面有数就向右,有正确性,复杂度\(\mathcal{O(n^2)}\)。水了篇题解,点点推荐rp++。点击查看代码#include<bits/stdc++.h>constintRatio=0;cons
- 2024-08-12ABC366D 题解
第一眼是想写\(kd-tree\)的。然后发现这就是一道三维前缀和的板子题。三维前缀和要想学习三维前缀和,我们首先得了解前缀和的概念,并且学会一维、二维前缀和。什么是前缀和前缀和是容斥原理的典型应用。这种优化方式可以使求和操作的时间复杂度降低到\(O(1)\)(但是需要提前预
- 2024-08-10『模拟赛』暑假集训CSP提高模拟17
RankA.符号化方法初探原[ABC081D]Non-decreasing挺水的,不过赛时想了错解。赛时做法是都塞到一个set里一遍推过去,如果比上一个小就lower_bound找一个最接近差的数加上,不过它存在比较大的问题。首先全是负判不了,会进入死循环;其次用map存下标也会出现存在两个相同的
- 2024-08-06『模拟赛』暑假集训CSP提高模拟14
Rank题目泰国尼添所以暴力挂一点分也能拿到22/98A.BA签到题。总记得小时候在《冒险岛数学奇遇记》的第28册左右看到过这道题,关键在于你可以分次烙完一张饼。举例2口锅5张饼,54433,最优策略的一种是先将5的那张饼烙3单位时间,然后烙一张4一张3;另一口锅
- 2024-08-01『模拟赛』暑假集训CSP提高模拟13
Rank上半最后一次正式模拟赛,感觉还彳亍A.小孩召开法1原[ABC278F]Shiritori签到题。博弈论+状压+记搜秒了,感觉不用太细说。不过是暑假以来第一次首A啊,开始还胡乱想SG定理的做法,后来发现不用那么复杂。点击查看代码#include<bits/stdc++.h>#definefo(x,y,z)for
- 2024-07-31『模拟赛』暑假集训CSP提高模拟12
Rank正常偏下发挥吧。A.黑客签到题。题目中的关键点是只有\(x\)和\(y\)的和在区间\(\left[0,999\right]\)内才合法,因此我们只枚举和在这个范围内的两个值,寻找约分前的值即可,复杂度为\(\mathcal{O(999^2)}\)。点击查看代码#include<bits/stdc++.h>#definefo(x,
- 2024-07-14CF1107F Vasya and Endless Credits
KM做法这么简单好想为什么都在dp?我第一次过也是用的dp。建模非常好想,每天只能收一次钱,最简单的思路是我们枚举第几天开车跑路,但是再一想我们不关心是第几天,只关心每次贷款离开车跑路还差几天,于是我们从\(i\)向\(j\)连边,边权是\(a_i+b_i\times\min(k_i,j)\),意义为第\(i\)
- 2024-07-10P1039[NOIP2003提高组]侦探推理
暂时未完成qwq[NOIP2003提高组]侦探推理(这道题思路很简单,但是细节一大堆qwq,调吐了QAQ这个题一共就20个人,星期一共就有7种可能,100句证词,所以可以直接暴力枚举,看一看假设第$i$个人是罪犯(guilty),今天是星期$j$,那么一共有几个人说了谎话。然后就好了awa…………了吗……这
- 2024-07-022024.7.2
党同伐异可以发现,每次只会是\(a_i\)最大或者\(a_i\)最小的人被淘汰,所以留下的肯定是从小到大排序后的一段区间。还可以发现一个单调性,越靠近左边就越不可能票左边,所以可以通过二分求出左右两边各被票了多少。#include<bits/stdc++.h>usingnamespacestd;const
- 2024-05-21CSP历年复赛题-P1022 [NOIP2000 普及组] 计算器的改良
原题链接:https://www.luogu.com.cn/problem/P1022题意解读:求解一元一次方程。解题思路:直接采用模拟法,对字符串进行解析设x保存未知数字母设lx保存"="左边的未知数系数,多个系数要累加设l保存"="左边的整数,多个整数要累加设rx保存"="右边的未知数系数,多个系数要累加设r保存"
- 2024-03-18换维扫描线
简介一般来说,我们处理某些可以离线的问题,我们会将询问离线,然后将修改挂在左端点或右端点,然后从左往右扫描这些修改,并处理询问,数据结构记录的一般是下标\(i\)到当前走到的地方的一些信息。而换维扫描线则采取了截然相反的措施:我们将区间修改转化成差分,然后从左往右扫描序列,线段