11.13 NOIP模拟7 改题记录

HZOJ

写在前面

大概就是T2<<T3<<T1<<T4吧。虽然自信跳T1然后A了T2T3,然后以为能200pts然后T3被inf个唐错绊住了脚。然后就是100pts->30pts。我无言。

《As If It's Your Last》

너 뭔데 자꾸 생각나
你算什么呢 经常想起你
자존심 상해 애가 타
伤了我的自尊心 现在又让我心急如焚
얼굴이 뜨겁고 가슴은 계속 뛰어
我的脸火辣辣的 心跳也跟着扑通扑通
내 몸이 맘대로 안 돼 어지러워
我的身体可不能这么随心所欲 真让人晕
넌 한 줌의 모래 같아
你就像是一把沙子
잡힐 듯 잡히지 않아
有时抓得住 有时又洒落
넌 쉽지 않은 걸 그래서 더 끌려
你好像不容易得到 但这样反而更有吸引力呢
내 맘이 맘대로 안 돼 어이없어
我的身体可不能这么随心所欲 不可理喻
지금 너를 원하는 내 숨결이 느껴지니
此刻想要你的我的呼吸 感受到了吗
널 바라보고 있어도 missing you
就算现在正在看着你 也还是想你
서툰 날 won't you set me free
很不熟练我
Baby 날 터질 것처럼 안아줘
宝贝 你紧紧地抱抱我吧
그만 생각해 뭐가 그리 어려워
别想这想那 有什么难的呢
거짓말처럼 키스해줘 내가 너에게
就算是谎言 也给我个kiss
마지막 사랑인 것처럼
我对你而言 就把这当成最后一次
마지막처럼 마마마지막처럼
就像是终点 就像是结束
마지막 밤인 것처럼 love
就像是最后一晚 就像结束
마지막처럼 마마마지막처럼
就像是终点 就像是结束
내일 따윈 없는 것처럼
就像没有了明天一样
Uh I'ma fall in love baby
You gone finna catch me
Uh give you all of this baby
Call me pretty and nasty
Cause we gonna get it my love you can bet it on
Black we gone double the stack on them whoa
I be the Bonnie and you be my Clyde
We ride or die
Xs and os
시간은 흘러가는데 마음만 급해지지
时间流逝 只有内心变得无比焦虑
내 세상은 너 하나만 missing you
在我的世界 我只想你一个
서툰 날 won't you set me free
很不熟练我
Baby 날 터질 것처럼 안아줘
宝贝 你紧紧地抱抱我吧
그만 생각해 뭐가 그리 어려워
别想这想那 有什么难的呢
거짓말처럼 키스해줘 내가 너에게
就算是谎言 也给我个kiss
마지막 사랑인 것처럼
就像是终点 就像是结束
마지막처럼 마마마지막처럼
就像是终点 就像是结束
마지막 밤인 것처럼 love
就像是最后一晚
마지막처럼 마마마지막처럼
就像是终点 就像是结束
내일 따윈 없는 것처럼
就像没有了明天一样
One two three 새로운 시작이야
1,2,3, 新的开始啊
절대 뒤돌아보진 않을 거니까
因为我绝对不会回头了
날 너에게 던지면 너는 날 꼭 잡아줘
我把自己扔向你 你一定要抓住我哦
세상은 우릴 꺾지 못할 테니까
世界才不会击败我们呢
Blackpink in your area
Baby 날 터질 것처럼 안아줘
宝贝 你紧紧地抱抱我吧
그만 생각해 뭐가 그리 어려워
别想这想那 有什么难的呢
거짓말처럼 키스해줘 내가 너에게
就算是谎言 也给我个kiss
마지막 사랑인 것처럼
就像是最后的爱
마지막처럼 마마마지막처럼
就像是终点 就像是结束
마지막 밤인 것처럼 love
就像是最后一晚
마지막처럼 마마마지막처럼
就像是终点 就像是结束
내일 따윈 없는 것처럼 love
就像没有了明天一样

A. Imbalance

均衡区间与出轨树的私生子。题意是大概就是求树上简单路径组成的非均衡区间,即端点为最值的区间的数量。

不会偏序,自信跳了。反正就是人均想了3h没写出来。先考虑链上怎么做。除开\(n^2 - \text{均衡区间数}\) 的复杂做法,我们考虑笛卡尔树。考虑维护两个笛卡尔树,一个大根,一个小根。显然一个点到其根的路径上最值在其根上取得。那么一个区间是均衡区间,当且仅当其两个端点在两棵树上都有祖先-后代关系。那么上树状数组数点就行了。考虑如何建树。一般采用的是单调栈,我们这里采用并查集维护。以小根举例,从大到小枚举权值,比较这个点与相邻两个点大小关系。若该节点小于其某个节点,那么就从该节点向相邻点并查集的根连边,然后将相邻点所在并查集并到当前点里。大根也是类似的。那么树上就同样从大到小枚举权值,比较与所有相邻点的大小关系即可,然后我们就能建出一棵多叉的笛卡尔树。然后我们就可以选择小根的那棵求出每个点的dfs序和可贡献的区间,遍历大根树时树状数组维护即可。

B. 原子

做法显然到我都以为是假的。其实就是个贪心,先把所有的反边建出来,然后把能跑的都跑了。剩下的不能跑的直接连到\(n\) 好点即可。可以证明不能跑的直接连不劣于与其他不能跑的组合再向\(n\) 连。

C. 旅行计划

人怎么能那么唐。。。大概就是1e6的数据只开了1e5的空间,大概就是少开了个long long,大概就是写了快读结果写着写着忘了然后写了cin还不关流,大概就是OJ上能跑然后本地RE丝毫没考虑到本地逆天初始栈空间的影响。

题意是给出一棵树,可以任意定起点和终点。每经过一次边该边边权减少1。求问经过边权和最大值。

抛开唐错不谈,赛时A了。虽然题解做法没用换根dp,但是这题换根的条件过于显然,而且貌似我也想不到那样设计状态不用换根。。。其实没啥难度,就是细节比较多。首先树形dp求出 \(dp_{x,0/1}\) 分别代表以 \(x\) 点为根的子树,从 \(x\) 点出发不回到/回到 \(x\) 的最大步数。显然的转移就是 $ dp_{x,1}= \sum dp_{y,1} + val_i-(val_i\text{&}1) $,然后显然如果要不回到 \(x\),那么将所有能回到 \(x\) 的边走了一定更优,枚举这个子结点即可。

然后就是换根环节了。显然如果 \(x,y\) 间的边权大于1, \(dp_{y,1}=dp_{x,1}\),否则仍为 \(dp_{y,1}\)。考虑比较复杂的 \(dp_{y,0}\) 怎么转移。贡献的改变主要来源于除开 \(y\) 的整棵树,此时 \(x\) 的最大贡献可能来源于出边(就是走出去不回来的边)为连接 \(y\) 的情况,那我们便不能直接转移。否则我们就可以比较出边在原 \(y\) 子树中更优还是在子树外更优。为了减少计算的时间复杂度,我们在树形dp时便可以记录最大贡献和次大贡献。然后转移就枚举出边所在位置取最大值即可,然后就实现了优秀的 \(O(n)\) 做法。

然后题解是啥啥啥欧拉路径啥啥啥,看不懂,换根dp秒了。

D. 简单题

因为过于简单所以我选择不改。

posted @ 2025-11-13 19:00  _dlwlrma  阅读(14)  评论(1)    收藏  举报