APIO2014 连珠线 ( beads)

2024-03-08 23:48
文章标签 连珠 beads apio2014

本文主要是介绍APIO2014 连珠线 ( beads),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题意

n n n个珠子,一开始只有一个珠子,随后的 n − 1 n-1 n1个珠子以如下方式之一加入:
1.直接向已有的珠子连一条红线;
2.在已有连红线的两个珠子之间的红线拆段,再分别向它们连一条线。
给出最后形成的树(不给出边的颜色),且每条边有权值,求蓝边权值和的最大值。

题解

原始想法:根据样例猜一下,是不是每个点都可连两条蓝边,保证蓝边不相交,树形DP一下即可?显然是错的(APIO题目哪有这么简单)。考虑什么情况不合法,通过乱画发现对于有主动连蓝边的两个点之间不能是非祖先后代关系,但这个条件也不好限制呀,然后越想越乱。
正解:其实刚才完全在为自己找麻烦了,这种时候一定是没有利用好题目的某些性质。再回到题面,考虑建树的过程,以一开始的节点为根(既然是树,依题意确定一个根肯定更好做),建红边就直接加儿子,建蓝边就把一对父子之间加入一个点,所以刚才乱七八糟的限制就变得清晰了:即蓝边只能连接型如fa-u-son,所以确定一个根后,树形DP即可。但我们不知道根是哪个,考虑O(1)换根,发现每次换只会影响到u和v的DP值,所以可以直接选1为根,再依次换根即可。
总结:本题的突破口在于以题目中那个第一个点为根(如果能从题目出发去想,其实不难想到),在这之后的想法都十分清晰自然,不要总是大概理解题意之后就不加分析随便乱想,再加上本来就差的思考力,必然gg。(感觉这样下去APIO要暴零了啊)

这篇关于APIO2014 连珠线 ( beads)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/788826

相关文章

Python画笔案例-035 绘制五彩连珠

1、绘制五彩连珠 通过 python 的turtle 库绘制五彩连珠图,如下图: 2、实现代码  绘制五彩连珠图,以下为实现代码: """五彩连珠.py"""import turtle# 定义颜色表叫cscs = ['red','orange','yellow','green','cyan']print(turtle.getscreen().getshapes())turtl

poj1286 Necklace of Beads【裸polya】

很裸的polya,不过我看polya看了很久 吉大ACM模板里面也有 #include <cstdio>#include <cmath>#include <iostream>using namespace std;long long gcd(long long a,long long b){return b==0?a:gcd(b,a%b);}int main(){#ifnd

Echelon/艾美捷——心磷脂Beads研究

今天来看一下 Echelon /艾美捷的心磷脂Beads——心磷脂Beads由琼脂糖组成,每1ml Beads中含有 10 nmol心磷脂。 心磷脂珠由琼脂糖组成,每1ml珠含有10纳摩尔的结合心磷脂,足以进行多个蛋白质结合实验。每1毫升 包括少量对照珠。应用:心磷脂珠被设计用于蛋白质下拉实验,以识别和表征脂质结合蛋白。可能的应用包括分离存在于细胞裂解物或体外翻译肽混合物中的脂质结合蛋白

bzoj3676[APIO2014]回文串

Description 考虑一个只包含小写拉丁字母的字符串s。我们定义s的一个子串t的“出 现值”为t在s中的出现次数乘以t的长度。请你求出s的所有回文子串中的最 大出现值。 Input 输入只有一行,为一个只包含小写字母(a -z)的非空字符串s。 Output 输出一个整数,为逝查回文子串的最大出现值。 Sample Input 【样例输入l】 abacaba 【样例

后缀数组+二分+--luoguP3649 [APIO2014]回文串

传送门 首先回文子串可以用 m a n a c h e r manacher manacher求出来,并且可以知道开头和长度,那么问题就转化成求一个子串在原串中出现了多少次。 这个可以用 S A M SAM SAM求(但我还不会 于是就用了 S A SA SA,首先把 h h h数组求出来,那么结合 s t st st表就可以 O ( 1 ) O(1) O(1)求出一个后缀和另一个后缀的 l

[氧化镍]七星连珠

题目 数据范围与提示 N ≤ 50 N\le 50 N≤50 且 k ∈ { 2 , 3 } k\in\{2,3\} k∈{2,3} 且 a i < k 7 a_i<k^7 ai​<k7 。 思路 首先这个每一行、每一列选一个,很让人联想到行列式。但是行列式是选出的元素作 “乘法”(也可以是自定义的乘法),这里是 x o r \rm xor xor,怎么办? 当然是使用 f w

BZOJ 3676: [Apio2014]回文串 回文自动机模板

3676: [Apio2014]回文串 Time Limit: 20 Sec  Memory Limit: 128 MB Submit: 4762  Solved: 2279 [Submit][Status][Discuss] Description 考虑一个只包含小写拉丁字母的字符串s。我们定义s的一个子串t的“出  现值”为t在s中的出现次数乘以t的长度。请你求出s的所有回文子串中的最

poj - 1509 - Glass Beads(最小表示法)

题意:求一个字符串的最小表示的起始位置(字符串长度最大为10000)。 题目链接:http://poj.org/problem?id=1509 ——>>很久以前就听过师兄说最小表示,今天看周源的《浅析“最小表示法”思想在字符串循环同构问题中的应用》,找了这题,与论文里描述的题目一样。。 我觉得这个思想挺不错:一直维护着字典序较小的指针。。让另一个指针不断地缩小字典序。。直至成功或者失败结束。

视频教程-Python系列游戏之四子连珠游戏-Python

Python系列游戏之四子连珠游戏 20年软件项目开发管理经验 工信部人才交流中心特聘专家讲师 日本U-CAN在线教育特聘主任讲师 国家十二·五规划软件工程教材作者(书:清华大学出版社出版) 中国软件行业协会教培专家组成员 天津职业大学智慧养老项目专家组成员 参与策划编写的系列图书十六本,在线课程十二门,涉及JAVA、C#、Python、移动技术及大数据等领域。 雷玉广

五子连珠测试报告

五子连珠测试报告 项目简介页面展示一,测试用例二,功能测试(1),登录模块(2),注册模块(3),排行榜模块(4),在线匹配模块(5),在线对战模块(6),背景音乐播放模块 三,非功能测试(1),界面测试(2),兼容性测试(3),易用性测试(4),安全测试(5),安装卸载测试 四,测试总结 项目简介 玩家通过注册登录获取自己的初始巅峰分数,在线匹配到对手后进入游戏房间轮流落子,当