分类: 未分类

544 篇文章

P3572 [POI2014]PTA-Little Bird
Jisoo 显然满足单调性,可以用单调队列优化 但是要维护两个值 考虑一下这两个值来说,因为每次疲劳值最多加1,那么无论如何优先选择疲劳值最小的来进行转移, 答案肯定不会更差 如果有两个数疲劳值相同但是高度不一样的话,显然保留高度更高的比较好 #include<iostream> #include<cstdio> #incl…
CF1325D Ehab the Xorcist
Jisoo 首先可以意识到,对于这个数组,他的异或和一定不会超过数值和 所以说 $u>v$ 直接挂了 然后意识到,区间和的奇偶性和异或和是一样的,(看第一位),这样$u!=v$也不行 剩下的呢,可以直接构造 $u,frac{v-u}{2},frac{v-u}{2}$(已经保证了分子为偶数) 然后能不能更少呢?看一下能不能把 $frac{u-v…
P1438 无聊的数列
Jisoo 对于一个等差数列? 直接维护这个区间的首项和公差就可以了 最后的答案反正只有单点查询(区间也差不多) 返回那个小区间的“首项”就可以了 #include<iostream> #include<cstring> #include<cstdio> #include<algorithm> #de…
P4513 小白逛公园
jennie 很经典的线段树维护最大子段和 我们只需要维护一下每一个区间的最大前缀,后缀,子段和区间和 对于每一个区间 他的最大前缀可能是左儿子的最大前缀或者左儿子的和加上右儿子最大前缀 后缀,同理 最大子段可能是左儿子最大后缀加上右儿子最大前缀或者说左,右儿子的最大子段 #include<iostream> #include<c…
CF1542B Plus and Multiply
Lisa 显然对于每一个时刻,可以调到的温度是一个区间 那么这样来做的话,我们只需要算出这个区间,然后去$∪$就可以了 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #define int long …
P3143 [USACO16OPEN]Diamond Collector S
Lisa 首先强行选择一个点 然后计算它左边最多长区间,右边也是 就可以了 #include<iostream> #include<cstring> #include<cstdio> #include<algorithm> using namespace std; int a[600001]; int…
P1282 多米诺骨牌
Jennie 从左往右处理骨牌,需要知道什么就可以确定状态了? 需要知道当前的差值,然后dp决定取不取反 怎样知道差值 当然是扔到状态里 然后这就是一个背包了 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring&g…
P4588 [TJOI2018]数学计算
Jennie 显然可以模拟,但是谁会喜欢写高精和逆元呢? 需要撤销乘法操作,该怎么做呢 如果说一个个乘法结合起来的话,那么撤销就是把一个数变成1 那么就是一个线段树的问题了 #include<iostream> #include<cstdio> #include<algorithm> #include<cs…
CSP2021初赛游记
CSP2021初赛爆炸记 黄色的树林里分出两条路,可惜我不能同时去涉足 今天是2021/9/19,最后一次NOIP 早晨起的很晚,因为昨晚的CF的原因,打了一个小时跟我说不计rate,shit 好吧好吧不上学还是有自己的轻松之处,买个咖啡就走了 在车上应该学习吗,看来是不合适的,于是也只能睡觉 ljx早早开始睡觉,我和yyq看了几眼手机就开始睡觉。…
P1783 海滩防御
jisoo 简单的二分 #include<iostream> #include<cstdio> #include<algorithm> #include<cmath> #include<cstring> using namespace std; int n,m; struct po{ in…