8月

8.9#

AT_agc016_d#

设当前序列的异或和为 x 并把 x 放在 a[n+1]。每操作一次即为交换 a[i]a[n+1]。这样就能判无解了。

对于位置 i,若 a[i]b[i],则 a[i]b[i] 之间连一条边,答案为连通块数 + 边数 - 1。

CF199F#

设当前有 p0 个 0 和 p1 个 1,答案即为 i=0k+12(p0i)(p1ki)

P10654#

对于每个位置 i,分别处理最早/晚从这个点出发能到两端的时间。

lzi 表示 i 能到达 1 要出发的最早时间,rzi 表示 i 能到达 1 出发最晚时间。

首先 lz1=0,rz1=inf,由于 i1i 之间的边只在 [li,ri] 能走,所以 lzi=max(lzi1,li1),rzi=min(rzi1,ri1)。然后还有 ti,最优的情况是在 ti 的最后一秒向左走,所以 lzi=max(li1ti,0)

但是这个地方有细节的啊,我以为这样就做完了于是样例一直不过。考虑只有当 li1lzi1 的时候才能进行上面一步转移,否则 ti 秒结束之后无法立即向左走。

然后再倒着做一遍向右的就做完了。

8.10#

CF1388C#

先 dfs 一遍把每个点经过的人数 ppi 求出。设每个点有 xi 人开心,yi 人不开心,xi+yi=pp+i,|xiyi|=|hi|,这样可以求出 xi,并且要满足 jsonixj<xi,再一遍 dfs 即可。

8.11#

今天打比赛打破防了,狂补一下。

abc366e#

i=1n|xxi|i=1n|yyi| 是独立的,所以可以设 f(i) 表示考虑前者 i 的个数, g(i) 表示后者 i 的个数,枚举 x,y 分别计算即可。

abc366f#

这个函数是增函数。fi(fj(x))fj(fi(x)),即为 ai1biaj1bj。于是按照这个排好序后做 01 背包即可。

CF1998D#

如果 s 到远处一个点 i 的时间要短于艾尔西,那这个点就合法。枚举每个桥 [u,v],设 di 表示到达 i 的最短时间,dv=min(du+1,dv)s 不合法即为 vsdv+1u<su+1svdv1。可以用差分维护一下。

arc182a#

为什么想不到?为什么想不到??

可以考虑任意两个之间的关系,枚举 i,jji 后面,如果 vjvi,如果 pi<pj,那 i 的操作一定是左边, j 的操作一定是右边。反之则相反。如果有矛盾的就输出 0。

如果 vivj,任选其一即可,不受限制,设这样的个数为 x,答案即为 2x

agc015d#

狗屎,写破防了,略。

8.12#

CF1998E1#

arc182b#

CF2002D1#

对于排列中相邻的两个数 (i,j)vi 表示对于 pi,pi+1 是否合法,若 ij 的父亲,或 ij 父亲的子树里,vi=1。当 vi=n1 的时候这个排列合法。若 xy 的父亲,当且仅当 x=y/2,若是后者可以从 x 往上跳。时间复杂度 O(n+qlog2n)

CF2002D2#

上面算法的时间复杂度是对的,存一下边然后查询的时候倍增跳就可以。

作者:wyyqwq

出处:https://www.cnblogs.com/wyyqwq/p/18351797

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   你说得太对辣  阅读(17)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版
· 2分钟学会 DeepSeek API,竟然比官方更好用!
· .NET 使用 DeepSeek R1 开发智能 AI 客户端
· DeepSeek本地性能调优
· 一文掌握DeepSeek本地部署+Page Assist浏览器插件+C#接口调用+局域网访问!全攻略
more_horiz
keyboard_arrow_up light_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示