【GDOI2018模拟9.23】博弈

GDOI 2023 游记!! 摇滚!弹幕!天意!阿噗鲁派! 立即下载

Description:

这里写图片描述
1<=n<=10^6

题解:

首先策略肯定是把Tom逼到一个点,然后去删边,接着取消标记让Tom一步步走到T那儿去。
Tom肯定会往代价最大的地方钻,1/4可以选择封住最大的先,然后Tom往次大的走。
以b为根,建树。
对于不在b->t的路径上的点,求出w,表示往它的子树中走一圈回来的最小代价,dp显然。
现在你可以想像从b->t走,你可以删掉相邻的子树,但是你不知道删哪棵。
于是二分答案,遵循能删必删的思想,就可以确定了,直到某个深度不行了。

Code:

#include<cstdio>
#include<cstring>
#include<algorithm>
#define fo(i, x, y) for(int i = x; i <= y; i ++)
#define fd(i, x, y) for(int i = x; i >= y; i --)
#define max(a, b) ((a) > (b) ? (a) : (b))
using namespace std;

const int N = 1e6 + 5;

int n, s, t, x, y, sum;
int final[N], next[N * 2], to[N * 2], tot;
int w[N], bz[N], sum_son[N], fa[N];
int d[N], bz_d[N];

void link(int x, int y) {
    next[++ tot] = final[x], to[tot] = y, final[x] = tot;
    next[++ tot] = final[y], to[tot] = x, final[y] = tot;
}

void dg(int x) {
    if(x == t) return;
    bz[x] = 1;
    for(int i = final[x]; i; i = next[i]) {
        int y = to[i]; if(bz[y]) continue;
        sum_son[x] ++; fa[y] = x; dg(y);
    }
    bz[x] = 0;
}

void Build(int x) {
    while(x != s) d[++ d[0]] = x, bz_d[x] = 1, x = fa[x]; d[++ d[0]] = x;
    fo(i, 2, d[0]) sum += sum_son[d[i]]; sum -= (d[0] - 1);
}

void dg2(int x) {
    if(x == t) return;
    bz[x] = 1;
    int mx = 0, mx2 = 0;
    for(int i = final[x]; i; i = next[i]) {
        int y = to[i]; if(bz[y]) continue;
        if(!bz_d[y]) w[y] = w[x] + sum_son[y];
        dg2(y);
        if(w[y] > mx) {
            mx2 = mx;
            mx = w[y];
        } else
        if(w[y] > mx2) {
            mx2 = w[y];
        }
    }
    w[x] = mx2 + sum_son[x];
    bz[x] = 0;
}

int pd(int m) {
    int yige = 0;
    fd(i, d[0], 2) {
        int dep = d[0] - i + 1;
        int ss = 0;
        int x = d[i];
        for(int j = final[x]; j; j = next[j]) {
            int y = to[j]; if(bz_d[y] || fa[y] != x) continue;
            if(w[y] + sum > m - yige) ss ++;
        }
        if(ss > dep - yige) return 0;
        yige += ss;
        if(m < yige) return 0;
        sum -= sum_son[x] - 1;
    }
    return 1;
}

int main() {
    freopen("compete.in", "r", stdin);
    freopen("compete.out", "w", stdout);
    scanf("%d %d %d", &n, &t, &s);
    fo(i, 1, n - 1) {
        scanf("%d %d", &x, &y);
        link(x, y);
    }
    dg(s);
    Build(t);
    dg2(s);
    int ans = 0;
    for(int l = 0, r = n; l <= r; ) {
        int m = (l + r) / 2;
        int sum2 = sum;
        if(pd(m)) ans = m, r = m - 1; else l = m + 1;
        sum = sum2;
    }
    printf("%d", ans);
}
GDOI2009中山市选拔赛 GDOI2009中山市选拔赛的试题,很好的,网上流传不多的,赶紧下~ 立即下载

相关推荐

Raid5损坏两块盘

  以下为浪潮Inspur NF5460M4型号服务器故障处理过程: 设备raid5组损坏两块硬,并raid组处理离线状态,情况如图:     由于硬盘数据比较重要,面对此情况不要慌我们尽量做到安全保守的保证数据尽可能完整,以下为处理方法,(遇raid5两块盘出现问题处理方法)   以下截图均为遇相同问题的解决图案,并非现场截图。 Ctrl+H 进WebBios界面,发现两...

chen_lipeng的博客 2万+

GDOI2018总结

GDOI2018总结 4月28日-5月2日,众多广东省信息学精英聚集在中山市第一中学,进行了一场GDOI广东省青少年信息学奥林匹克竞赛决赛。 这是本人第二次参加省级比赛,收获颇多。 曾经听说过GDOI是十分有难度的比赛,但在比赛结束后,发现其实并没有想象中的那么难,起码暴力还是能打出的。Day1、Day2两天的总成绩在纪中初一年级第四,获得了初中组的二等奖,自认为不是特别理想。究竟这是不是自...

ZSJZ_liuzian的博客 396

用51单片机和LD3320语音模块DIY一个会说话的温度报警器(附完整代码)

本文详细介绍了如何使用51单片机和LD3320语音模块DIY一个智能温度报警器,包括硬件选型、电路设计、软件开发及核心功能实现。通过DS18B20温度传感器和语音模块的结合,实现温度超标时的语音报警功能,适合智能家居系统等应用场景。附完整代码,方便开发者快速复现。

weixin_42525632的博客 420

GDOI2018总!结!

第一年gdoi,初中最后一年拿Au真刺激 Day1 T1假装送分,实际还是送分 太蠢没发现可以直接一个个判断,还打了个二分。 不过还是能过 T2 想了半天dp,结果还是拿暴力分 (暴力分没记忆化还T了,喵喵喵?) 其实是一题sb题,区间操作差分转化即可。 ( 这好像还是原题) T3 还是cdq数据结构大力送分,中规中矩数据结构。一开始忽略了一个t1&lt;t2t1&lt;t2t1...

一位蒟蒻的小博客 423

Android 13.0 SystemUI下拉状态栏背景增加高斯模糊背景

在13.0的产品开发中,发现现在很多产品都是高斯模糊背景的,这种高斯模糊背景看起来效果很不错,产品开发需要SystemUI下拉状态栏背景也是高斯模糊背景,所以就要来实现下拉状态栏高斯模糊背景

安卓兼职framework和app工程师的博客 2670

javafx结合Scene Builder自定义fxml实现漂亮的登录界面、自定义最小化、关闭按钮

本节主要介绍了如何结合Scene Builder工具来制作一个好看又漂亮的登录界面,以及介绍了如何在程序中调用生成界面文件fxml文件,如何获取到fxml文件中的组件等,并演示登录、最小化和关闭等功能。

c1007857613的专栏 5222

GDOI 2018 绝望记

Preface 考前的三轮模拟稳步前进,感觉状态调整不错 NOIP考了个竞争力很低的分数,所以进队只可能靠运气 目标大致是被卡校线?能Au就已经是超越自我了,省队毕竟太难 在中山一中,我们也算是主场参赛。占据地利,每天可以回家休息。 Day1 看了座位表,左边坐着爷稳稳(yww)神犇,心态崩了 开场半个小时试机,先作死打了一发半年没打过的SA,因为记不得了打得很慢,20min终于...

LYD729 1028

YOLO26涨点改进 | 小目标损失函数独家改进篇 | TGRS 2025 | 引入AdaFocalLoss损失函数,改进小目标检测,自适应聚焦小目标与样本分布不平衡,提升检测精度与训练稳定性

本文提出将AdaFocalLoss损失函数应用于YOLO26模型优化,有效提升小目标检测性能。AdaFocalLoss通过目标尺寸感知机制和IoU引导的动态调节,自动调整训练权重和聚焦程度,解决了样本不平衡问题。相比传统损失函数,它无需手动调参,能增强训练稳定性,在多尺度、复杂场景下表现优异。文章详细介绍了AdaFocalLoss的原理、优势及实现方法,并提供了代码集成指南。实验表明该方法能显著提升检测精度和鲁棒性,特别适用于小目标检测任务。

Ai缝合怪、助力小伙伴高效发论文 337

GDOI 2018 蒟蒻退役记

前传 高二蒟蒻凭借年龄优势努力学习noip水了400 又因为是女装大佬性别为女,让老师觉得可以冲一波省队 然后被奶了N久~~ 所以,在第一次月考之后开始停课(乐不思蜀啊,可以说是贼开心了) 就天天刷题,实力缓慢增长,(玩耍技能点满) day0 听说去中山比,瞬间脑补了在大郊区的纪中,然后出发前在众人吃惊的目光下,买了3条阿尔卑斯和2个大棒棒糖还有2包山楂条(不然怎么对...

ssl_lyy的博客 938

AI原生SaaS应用的自动化运维体系构建

随着ChatGPT掀起的AI原生应用浪潮,越来越多SaaS(软件即服务)产品开始以"AI优先"的方式设计——从用户交互到核心功能,都深度依赖机器学习模型(如推荐算法、智能客服)、实时数据流(如用户行为分析)和弹性算力(如大模型推理)。这类应用的运维需求与传统SaaS完全不同:传统运维像"修水管",哪里漏了补哪里;AI原生运维则像"照顾会成长的宠物",需要实时感知模型状态、数据变化和流量波动,主动调整资源。

AI天才研究院 1080

Vue3 - 超详细“纯前端“将文件上传到阿里云OSS对象存储,最新阿里云前端直传音频、视频、图片、文件、office文档等任意文件,vue3单个或批量从本地选择文件,秒传到阿里云oss无需后端接口!

vue3,阿里云oss存储,前端直传oss,上传图片/office文档/音视频/zip压缩包到阿里云oss,项目中上传文件到阿里云oss详细教程,如何将本地文件上传到阿里云OSS存储,纯前端实现阿里云OSS上传,纯前端直传至阿里OSS对象存储教程,如何解决上传文件到阿里云OSS本地环境调试出现跨域问题,直传阿里云oss跨域报错解决,前端直接上传文件到oss服务端,不经过后端直传,浏览器直接上传文件,阿里云oss上传sdk官方文档,阿里云错误,解决这个问题,上传很慢,一直签名失败,权限,不经过后端,纯前端直传

🏆 前端领域优质创作者 1万+

GDOI2018滚粗记

day-50: 高中全体成员去了北京训练,我被虐成傻逼(貌似总分全校倒数第2)。 day-20: 回广州了,间断式略微考好55555..... day0: 早上起床好像有点晚qwq 然后简单打了个FFT的板子,然后又打了个kmp的板子,最后简单看了下扩k的原理 期间我居然把FFT的2pi/h的h打成了n.... 下午在初中部门口集中,集体乘坐大巴去中...

diaoyoutun2652的博客 191

Qt应用软件【协议篇】自定义协议处理串口半包贴包

Qt串口数据,半包,贴包,丢包数据处理

小鱼酱的博客 1211

【JZOJ5679】【GDOI2018Day2模拟4.21】山景城(博弈+树形DP+二分)

Problem   给定一棵n个节点的树,基德一开始在点s,Kris想让基德进入点t。   每一秒钟: Kris 在这一秒的开始,可以进行决策:1) 不操作;2) 炸毁一条还存在的走廊,操作过后这条走廊将不复存在;3) 清除一条走廊上被怪盗基德留下标记。 怪盗基德在这一秒的末尾,有可能会移动:假设基德此刻正处于 p 号展厅,若从 p 号展厅出发通往相邻展厅的每条走廊都被画上了标记,那么基德...

qq_36551189的博客 309

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

集训第二周小结(4.17~4.23)

虽说应该明天才算正式结束本周的集训,不过这星期的绝大部分内容可以说都已经完结了,因此提早一天写。这个星期的训练跟上星期有所不同,更加侧重usaco。17号晚上回来,继续做上星期剩下的usaco 2016 february contest的题目。第二天,也就是星期一,也是一样。个人感觉做usaco套题有一个好,几个难度不同的级别中有同一道难度递增(其实不一定递增,偶尔会出现银牌版比铜牌版还简单的情况

lkb 的小屋 438

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

NOIP2017 赛前集训

一切一切罪恶,应该置顶 看错数据范围 看错题 忘开longlong 爆数组 爆空间 能写暴力却一直浪浪到最后没时间 不带脑子地一昧去拍,还出的纯随机数据,简直自欺欺人 跳进一个想法就跳不出来 没有梦想关于对拍的问题,do as usual NOIP的风格:数据较水,不涉及高级算法 10.21 想复杂->时间不够 打的时候没想清楚->调试时间长 细节 看错数据范围->没想到T2正解 10.22 实力不

LYD729 998

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

【JZOJ5699】【GDOI2018 day1】涛涛接苹果(appletree)(三维偏序问题(CDQ分治+树状数组 or 带修主席树))

Problem   给定一颗n个节点的树,初始时第i个节点的苹果重量为ai。涛涛每天早上会摘掉根上的苹果;下午,所有苹果下降一层(即从子节点掉到父亲节点)。魔法师洋洋会进行m次单点修改。父亲图图提出了q个问题,每个问题是:求在第t天早上(涛涛采摘前),以x为根的子树的重量和。 Hint Solution 10~40points:模拟+线段树/树状数组+分层求前缀和   这...

qq_36551189的博客 1400

GDOI2018 爆零记,Challenge Impossibility

蒟蒻的GDOI又双叒叕考挂啦...... Day 0 && Day -1 学校月考,貌似考的还不错? 然而考完试再坐船去中山实在是慢啊......晚上10点才到酒店 wifi差评......极其不稳定,还好我的流量还有42G结余:) 11:00以前就睡了,希望第二天能考得好:) Day 1 6:30起床,早起的习惯真是好啊 吃早餐的时候排长队,学弟说餐厅的队列空间溢出了...

430

【GDOI】2018题目及题解(未写完)

我的游记:https://blog.csdn.net/huangzihaoal/article/details/80185230 DAY1 题目 T1 农场 【题目描述】 【输入】 第一行,一个整数n。 第二行,n个整数aiaia_i 【输出】 一个数,最多可以分成几块。 【样例输入】 6 1 1 2 1 2 1 【样例输出】 2 【数据范围限制】...

_Alexander_的博客 1955

GDOI2018游记&题解

day0   第一件事当然是去酒店入住+领一堆东西。   感觉酒店不错,而且离学校挺近的,走路10分钟不到,骑车5分钟就到了。   然后去学校吃饭。我们在教工饭堂吃饭,饭菜还不错,但是没有筷子差评。   吃完饭后找了一下附近的咖啡厅,然而并没有找到。   剩下的时间都在玩手机。 day1   有半个小时试机时间,就敲了三个板子(NTT,SA,LCT),结果一个都没用到。   开场先看A,发现是个傻...

weixin_30408739的博客 190

gdoi2018 D2T2 滑稽子图 (树形DP,式子认知)

题意 给定n个点的树,定义f(S)为点集S的导出子图的边数,求∑Sf(S)k∑Sf(S)k\sum_{S}f(S)^k。n&lt;=10^5,k&lt;=10。 题解 居然tmd没想出来wtf,对着k=2想了好久,明明就是送分(命)题。 设fi,0/1,kfi,0/1,kfi,0/1,k表示以i为根子树,第i个点是否选的所有方案边数k次方和。 考虑将子树y与父亲x如何转移。 先考虑...

一位蒟蒻的小博客 479

GDOI2018游记

中山一中。我家对面。酒店党校到一中都比我家到一中远。没错我家就是那个前段时间(貌似过得挺久了)车位问题闹得沸沸扬扬的朗晴轩。GDOI和期中考撞车?,于是期中考果断弃疗。Day 1七点半到,一直在门口玩手机刷知乎。八点进场。试机打了个a+b和快排(听说某大佬打了一堆数据结构?)八点半开始。十二点半结束。T1签到。T2有点奇怪,先跳。T3貌似有些特殊点,想了想发现很难做。先跳。T4辣鸡概率,看不懂题,...

jz_terry的博客 497

GDOI2018

前言该拿的分一分不失,是我本次GDOI最成功的地方Day0考前延续了在JZ腐败的习惯,直到十点半还在淦CR,突然意识到我自己可能真的完蛋了,于是删了安卓模拟器来复习模板(事实证明并没有对后面的解题起到作用但是直到心情恢复了一点)带着非常慌张的心,抱着自己带的抱枕,还是睡着了Day1早餐超级好吃直到走到了一中才发现天气热到爆炸,还好考场里面有空调,路上一直...

dianning8393的博客 298

【NOIP2017提高A组模拟10.7】Repulsed

Description:小w 心里的火焰就要被熄灭了。 简便起见,假设小w 的内心是一棵n -1 条边,n 个节点的树。 现在你要在每个节点里放一些个灭火器,每个节点可以放任意多个。 接下来每个节点都要被分配给一个至多k 条边远的灭火器,每个灭火器最多能分配给s 个节点。 至少要多少个灭火器才能让小w 彻底死亡呢? n <= 10^5, k <= 20, s <= 10^9题解:贪心题都是

Cold_Chair的博客 861
上一篇: 【GDOI2018模拟9.23】动态图
下一篇: 【NOIP2017提高A组模拟10.5】Ping
Cold_Chair
博客等级 码龄11年 158粉丝 410原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值