会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
把博客园图标替换成自己的图标
把博客园图标替换成自己的图标end
275307894a
有志者事竟成,破釜沉舟,百二秦关终属楚;苦心人天不负,卧薪尝胆,三千越甲可吞吴。
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
37
38
39
40
41
42
43
44
45
下一页
2020年5月12日
CF660C Hard Process
摘要: 题面传送门 明显可以尺取法。 先把每一位取反,则枚举右端点,左端点单调不降则直接暴力枚举即可。 代码实现: #include<cstdio> #define max(a,b) ((a)>(b)?(a):(b)) using namespace std; int n,m,k,a[300039],q[3
阅读全文
posted @ 2020-05-12 20:39 275307894a
阅读(46)
评论(0)
推荐(0)
2020年5月10日
luogu P4688 [Ynoi2016]掉进兔子洞
摘要: 题面传送门 第二道$Ynoi$题目。感觉还是很良心的。 区间相同个数,很容易想到$bitset$。 然后可以用莫队维护出来,最后与一下就好了。 但是相同的数怎么办呢? 离散的时候把位置空出来,之后维护一下有几个就好了。 注意加一些常数优化之类的。 代码实现: #include<cstdio> #in
阅读全文
posted @ 2020-05-10 15:17 275307894a
阅读(47)
评论(0)
推荐(0)
2020年5月8日
exgcd学习笔记
摘要: 看来别的博客都没有讲清楚,那我就来讲一下。 一下纯属作者个人思路,若有不对请提出。 在这篇文章中,$/$表示向下取整的除。 求$ax+by=c$的解 显然是不定方程。有无解我们可以用裴蜀定理验证,此处当做其有解。 我们可以尝试用$y$表示出$x$,比如这样:\(x=\frac{c-by}{a}\)
阅读全文
posted @ 2020-05-08 20:01 275307894a
阅读(52)
评论(0)
推荐(0)
2020年5月2日
我们爱序列
摘要: 题面传送门 启发式合并大法吼啊。 优雅的暴力。 暴力:遍历整个数组去修改,时间复杂度$O(n2)$ 换一个思路暴力:对于每一个$a_i$维护一个队列,每次把两个队列合并。时间复杂度仍是$O(n2)$ 那可不可以优化一下呢? 每次我们不能把小的合并到大的上面去吗,这样可以减少点常数。 等等,你确定是常
阅读全文
posted @ 2020-05-02 21:52 275307894a
阅读(41)
评论(0)
推荐(0)
2020年4月25日
NOI online R2游记
摘要: 这次题目很简单,但仍然改变不了我没法阿克的命运(还是菜 开题开错顺序(滚粗$flag+1$),把第二题做成了第一题,心想着这次比上次良心于是怀着一种切sb题的思路把$T2$给切掉了,然后发现看错题面,之后觉得题面对了以后更$sb$了,不就是个线段树维护元素平方和吗,写了十分钟,挂上了一个莫队写的对拍
阅读全文
posted @ 2020-04-25 16:17 275307894a
阅读(69)
评论(0)
推荐(0)
luogu P6477 [NOI Online 2 提高组]子序列问题sequence
摘要: 题面传送门 考虑像HH的项链那道题一样维护最后一个位置。 如果在第$j$个点设$f_i$为当前$i$到$j$的答案,那么如果没有平方,显然可以对于每一个最后一个点$last$,将$1$到$last$都加上$1$。查询时区间查询即可。 可现在是平方和,我们知道$(x+y)2=x2+2xy+y^2$那么
阅读全文
posted @ 2020-04-25 12:34 275307894a
阅读(51)
评论(0)
推荐(0)
luogu P6476 [NOI Online 2 提高组]涂色游戏color
摘要: 题面传送门 考虑一下,其实只要管一个两个倍数点到另一个两个倍数点就好了。 设$p_1<p_2$ 贪心一下,发现两个倍数点都赋值$p_2$就是最优的。 对于任意一个$p_2$的倍数点,任意一个$p_1$的倍数点距离他不超过$gcd(p_1,p_2)$,且必定有一个点在这个位置。 所以就可以根据这个最优
阅读全文
posted @ 2020-04-25 12:26 275307894a
阅读(64)
评论(0)
推荐(0)
2020年4月24日
CF103D Time to Raid Cowavans
摘要: 题面传送门 显然可以数据分治啊。 对于$k>\sqrt n$时,珂以跑暴力,单次复杂度不超过$\sqrt n$ 对于$k<\sqrt n$,珂以离线对每一个$k$跑一遍$O(n)$的预处理,将所有的$k$处理出来,直接调用即可。每次均摊复杂度$O(\sqrt n)$ 总复杂度$O(n\sqrt n)
阅读全文
posted @ 2020-04-24 20:54 275307894a
阅读(55)
评论(0)
推荐(0)
2020年4月23日
luogu P3694 邦邦的大合唱站队
摘要: 题面传送门 挺入门的状压$dp$题。 先枚举状态,然后枚举最后一个合并的是哪一个,状态转移方程: \(f_{i}=min(f_{i-2^j}+\sum\limits_{k=1}^{n}{1[a_k=j]}-\sum\limits_{z=\sum\limits_{s=1}^{m}(\sum\limit
阅读全文
posted @ 2020-04-23 13:39 275307894a
阅读(38)
评论(0)
推荐(0)
2020年4月22日
luogu P1295 [TJOI2011]书架
摘要: 题面传送门 一倒蛮好的$dp$题。 $n$方$dp$谁都会打,状态转移方程$f_i=min(f_j+max(a_k))$,其中$j\leq k\leq i$,\(fs\leq j\leq i\),$fs$满足$\sum\limits_\leq m &&\sum\limits_>m$。 考虑优化,先用
阅读全文
posted @ 2020-04-22 11:02 275307894a
阅读(58)
评论(0)
推荐(0)
luogu P4113 [HEOI2012]采花
摘要: 题面传送门 和HH的项链那道题有点像。 将所有询问离线,按右端点排序。 维护每种颜色最近出现的和第二近出现的。当加入一种颜色时,将其第二近出现的删掉,使原来第一出现的变为第二出现的。 然后来了一个询问,查询比他大的数的个数就是答案,树状数组或线段树或平衡树随便维护一下就好了。 代码实现: #incl
阅读全文
posted @ 2020-04-22 08:29 275307894a
阅读(74)
评论(0)
推荐(0)
luogu P3205 [HNOI2010]合唱队
摘要: 题面传送门 一道蛮好的区间$dp$。 设$f_{i,j,0}$表示最后一个人从左边进来的方案数,$f_{i,j1}$表示从右边进来的方案数,分类讨论一下就好了。 代码实现: #include<cstdio> #define mod 19650827 using namespace std; int
阅读全文
posted @ 2020-04-22 08:23 275307894a
阅读(41)
评论(0)
推荐(0)
2020年4月20日
luogu P3604 美好的每一天
摘要: 题面传送门 蛮好的一道题目。 考虑状压。对原数列做前缀和,每一位代表是奇数个还是偶数个。那么前缀和亦或就可以得到一个区间。 对于一个区间,只有亦或和是$0$或$2^k$时才能构成回文串。那么莫队增加和修改时枚举$k$即可。 注意前缀和要往前一位。 时间复杂度$O(26n\sqrt n)$ 注意常数不
阅读全文
posted @ 2020-04-20 12:00 275307894a
阅读(43)
评论(0)
推荐(0)
2020年4月18日
CF1304E 1-Trees and Queries
摘要: 题面传送门 $E$题居然还能放这种水题。 这样走只有三种走法。 \(x->y\) \(x->a->b->y\) \(x->b->a->y\) 分别求$LCA$即可。 代码实现: #include<cstdio> #include<cstring> using namespace std; int n
阅读全文
posted @ 2020-04-18 13:31 275307894a
阅读(38)
评论(0)
推荐(0)
luogu P3698 [CQOI2017]小Q的棋盘
摘要: 题面传送门 貌似弱省省选不咋地。 考虑贪心,折返走要两倍的步数,而最后一次仅需一倍的步数。 首先$dfs$求出最长链,然后将步数尽量给最长链,剩下的步数给往返走。 注意不能超过$n$。 代码实现: #include<cstdio> #include<cstring> #define max(a,b)
阅读全文
posted @ 2020-04-18 13:28 275307894a
阅读(50)
评论(0)
推荐(0)
2020年4月17日
luogu P5355 [Ynoi2017]由乃的玉米田
摘要: 题面传送门 Ynoi虐我千百遍,我待sjjg如初见 话说$Ynoi$真是毒瘤,不开寄存器居然过不去。 这道题前三问可以从小清新人渣的本愿过来,开个$bitset$暴力乱搞就好了。 主要是第四问。 考虑暴力乱搞(这还要考虑?),那么$x=1$的时候复杂度将会很高,达到了$\frac$。 考虑优化。 采
阅读全文
posted @ 2020-04-17 16:19 275307894a
阅读(80)
评论(0)
推荐(0)
2020年4月16日
CF2B The least round way
摘要: 题面传送门 其实蛮简单的,不应该有蓝题。 只要找到最小的$5$和$2$即可。 但是注意要特判$0$ 代码实现 #include<cstdio> #define min(a,b) ((a)<(b)?(a):(b)) using namespace std; int n,m,k,s,tx,ty,a[10
阅读全文
posted @ 2020-04-16 09:33 275307894a
阅读(49)
评论(0)
推荐(0)
2020年4月11日
qzezoj 1588 队列重构(加强版)
摘要: 题面传送门 $90$分做法见这里 正解是线段树+分治。 我们尝试在线段树上跑分治,则维护线段树每个节点的有几个位置没被选两边跑分治就好了。 代码实现: #include<cstdio> using namespace std; int n,sum[4000039],now[1000039],a[10
阅读全文
posted @ 2020-04-11 16:31 275307894a
阅读(61)
评论(0)
推荐(0)
2020年4月10日
qzezoj 1588 队列重构(加强版)90分做法
摘要: 题面传送门 $70$分做法参考这篇博客 考虑在$70$分做法上优化。 $70$分是一个一个找的。我们可以用树状数组维护序列$a_i$为$i$之前有几个位置被占了。 则当$i<j$时,\(a_i\leq a_j\),这满足二分的性质,所以我们可以二分找位置。 时间复杂度$O(nlog^2n)$ 代码实
阅读全文
posted @ 2020-04-10 20:13 275307894a
阅读(69)
评论(0)
推荐(0)
CF940F Machine Learning
摘要: 题面传送门 这道题我也是醉了。 先离散化,离散完之后上带修莫队板子求$mex$基本上就好了。 啥?你问我带修莫队怎么打? 带修莫队比普通莫队基础上加上一维时间轴。分块大小为$n^{\frac{2}{3}}$,总复杂度为$O(n^{\frac{5}{3}})$。 那$mex$怎么统计呢? 如果这个$m
阅读全文
posted @ 2020-04-10 13:33 275307894a
阅读(55)
评论(0)
推荐(0)
2020年4月9日
qzezoj 1592 三角形计数
摘要: 题面传送门 题目告诉我们,没有三点共线,所以我们可以容斥。 两条线,$x,y$相等,即平行。那么我们可以用总可能数-$2$条直线平行-$3$条直线平行。 用$hash$来判断平行线。 代码实现: #include<cstdio> #include<cstring> #include<cmath> #
阅读全文
posted @ 2020-04-09 13:09 275307894a
阅读(55)
评论(0)
推荐(0)
2020年4月8日
CF1329A Dreamoon Likes Coloring
摘要: 题面传送门 作为$div1$的第一题,还是偏水的。 这题明显是个·构造。 先判无解,则铺不满是无解,铺过头了也是无解。 那么接下来就很好构造了。刚开始让每个区间完全平铺,然后等到每个区间只有一个时,改成一个一个铺。 代码实现: #include<cstdio> using namespace std
阅读全文
posted @ 2020-04-08 20:27 275307894a
阅读(47)
评论(0)
推荐(0)
qzezoj 1591 序列询问
摘要: 题面传送门 看数据范围,对于 $100%$的数据 \(1 \leq n \leq 10^5, 1 \leq A_i \leq 10^9, 1 \leq m \leq10^5\) ,可能是$O(nlogn)$或$O(n\sqrt n)$,再看开了两秒,就知道是$O(n\sqrt n)$了。 这道题是一
阅读全文
posted @ 2020-04-08 15:37 275307894a
阅读(38)
评论(0)
推荐(0)
2020年4月7日
qzezoj 1590 买玩具
摘要: 题面传送门 我们可以尝试贪心。 这个问题满足二分性质,即如果 i ...
阅读全文
posted @ 2020-04-07 13:55 275307894a
阅读(42)
评论(0)
推荐(0)
2020年4月6日
qzezoj 1589 好元素
摘要: 题面传送门 考虑用哈希折半搜索来解决。 观察以下原式$a_m+a_n+a_p=a_i,m,n,p<i$考虑移项得到$a_m+a_n=a_i-a_p,m,n,p<i$,那么两边就可以分别枚举了。 代码实现: #include<cstdio> #include<cstring> #include<cma
阅读全文
posted @ 2020-04-06 17:16 275307894a
阅读(35)
评论(0)
推荐(0)
上一页
1
···
37
38
39
40
41
42
43
44
45
下一页
公告
浏览器标题切换
浏览器标题切换end