首页 > TAG信息列表 > Kingdom

「codeforces - 687D」Dividing Kingdom II

link。 好题啊。 首先有一个类 kruskal 暴力,就是对于每一个询问,把所有边按权值大小排降序,第一个加进去成为奇环的边就是答案。注意我们不需要关注偶环长成什么样子,所以我们实际上维护的是一棵生成树。这个可以用并查集维护结点到根的边的数量来实现。 因此我们需要关注的边只有 \(

【CodeForces 613D】Kingdom and its Cities

链接 洛谷 题目大意 给定一棵树,多组询问,每组询问给定 \(k\) 个点,你可以删掉不同于那 \(k\) 个点的 \(m\) 个点,使得这 \(k\) 个点两两不连通,要求最小化 \(m\),如果不可能输出 \(-1\)。询问之间独立。 思路 虚树板题。 虚树 针对一些有多组特殊点的树上问题。 如果只有一组特殊点,就是

C#索引器的使用

索引器是C#是一个比较特殊的功能, 它一般用来提供数组/集合被外部访问的接口(其实就是对集合或数组成员的方便的操作 eg:获取OR设置数组/集合元素…) C#的索引器定义在类中,可以重载(索引可以不是整形,也就是可以快速访问Dictionary[即map]), 需要注意的点 它固定要有get,set

CF1578J Just Kingdom

考虑一个点被填满则他需要从其父亲得到\(q_u = \sum_{v = u\ or\ v \in son_u}m_v\) 那么考虑如何这样操作。 我当时world final做的时候,是从上往下遍历,此时有若干分数流下下方,然后就疯狂的wa。 那么我们考虑从下往上做,考虑如何从儿子调整到父亲。 我们发现如果儿子有 \(x\) 这

2020ccpc秦皇岛 K - Kingdom‘s Power

K - Kingdom’s Power 比赛的时候思路出了 但不会证。 赛后敲了就过了。 #include <bits/stdc++.h> using namespace std; const int N = 1000010; #define ll long long int n; vector <pair<int, int>> tr[N]; int depth[N]; int val[N]; int dfs1(int u, int dep) {

【树形DP + 贪心】2020CCPC秦皇岛-K. Kingdom's Power

【树形DP + 贪心】2020CCPC秦皇岛-K. Kingdom's Power 题目链接(https://codeforces.com/gym/102769/problem/K) K. Kingdom's Power time limit per test 2 seconds memory limit per test 512 megabytes input standard input output standard output Alex is a professional c

CF772E Verifying Kingdom - 交互、点分治

在我的洛谷博客中查看 题解 因为原树的所有非叶子节点都恰好有两个儿子,所以原树上 \(n\) 个叶子节点形成的虚树与原树同构。 考虑增量地构造虚树:假如前 \((i-1)\) 个叶子的虚树已经求出来了,那么怎么找到第 \(i\) 个叶子的位置呢? 首先我们可以通过一次询问,确定叶子节点 \(i\) 相对

CF835F Roads in the Kingdom

Link Description 给定一棵基环树,现在可以删去环上的一条边,最小化删变后树的直径。求直径大小。 Solution 把环上的边删完后,就得到一个森林。删去环上的边对森林里树的直径是无影响的,这是直径的第一种情况。 第二种情况就是两段非环路径加上一段环上路径,记 \(c_i\) 表示 \(i\) 到

hdu3861The King’s Problem(缩点+二分图匹配(匈牙利))

传送门 题目描述: In the Kingdom of Silence, the king has a new problem. There are N cities in the kingdom and there are M directional roads between the cities. That means that if there is a road from u to v, you can only go from city u to city v, but can’t g

OI - TN's Kingdom III - Assassination(POJ)

这个标题就出奇的长 # 题面 \(n\) 次多项式 \(\alpha\) 和 \(\beta\) 做循环卷积得到 \(\gamma\)。现在已知 \(\beta,\gamma\),求 \(\alpha\)。 换句话说: \[\gamma=\sum_{i=0}^{n-1}\sum_{j=0}^{n-1}\alpha_i\beta_j\cdot x^{(i+j)\bmod n} \]数据规模:\(n< 2^{17}\)。 # 解析

ARC109F - 1D Kingdom Builder

一行格子,其中小于\(0\)的格子为白色,大于\(n\)的格子为黑色,中间的格子颜色由题目给出。 有一些格子需要被标记。标记按照以下规则进行:选择一个颜色\(c\),找到一个未标记的 旁边有标记点的 颜色为\(c\)的 格子,在这个格子上标记;如果找不到这样的格子,就找任意一个颜色为\(c\)的格子。

Codeforces835F Roads in the Kingdom

Description link 给定一个基环树,可以在保证树联通的情况之下要求一个最小直径 \(n\le 2\times10^5\) Solution 这题目就是会说在环上拆掉一条边之后让环上的直径最小 分为几种情况 先说说怎么求基环树的直径吧 也就是\(IOI2008 \ Islands\) (啊那个题目的主算法是求基环树直径) 首

Linova and Kingdom CodeForces - 1336A

贪心好难啊,不好猜。 这道题的话,易得,如果一个节点是工业区的话,它的子节点也都是工业区,因为否则我们对调该节点和子节点,答案就多了1。所以说是先选子节点在选择父节点作为工业区,同理如果假定全为工业区,我们选择旅游区的话,我们应该先选择父节点为旅游区,所以我们选择策略时要避开这种

题解【Codeforces1336A】Linova and Kingdom

题面 一开始的想法肯定就是按照深度来贪心,选深度最深的 \(k\) 个点,然后发现这样做其实是错误的。 我们发现在此题中,选一个点之前肯定已经把它的所有子树中的节点全部选完了,否则先选择它的子树中的节点答案肯定更优。 然后我们考虑计算出一个节点的贡献: 选择了当前节点之后,当前节

CF1336 A. Linova and Kingdom

A. Linova and Kingdom 题意 给你一颗nnn个节点根为1号节点的树,选kkk个城市作为工业城市,其余为旅游城市,工业城市的使节每经过旅游城市开心值+1,求所有工业城市的使节到1号节点的开心值的和最大为多少? 思路 贪心 dfs 很容易看出来如果只选一个,一定选距离根节点最远的叶子,我们

Linova and Kingdom

C - Linova and Kingdom 参考:Codeforces Round #635 Editorial 首先要知道的规律是如果一个城市为工业城市,那么它的所有子节点也肯定为工业城市。可以通过反证法证明。 那么我们可以得到每一个旅游城市的贡献为(子树大小 - 结点深度),证明方法可以查看官方题解。 没有思路的话,可以先

Codeforces 1337C Linova and Kingdom

题意 给你一颗有根树,你要选择\(k\)个点,最大化\(\sum_{i \in S} val_i\),其中\(S\)是被选点的集合,\(val_i\)等于节点\(i\)到根的路径上未被选择点的个数。 解题思路 这题思路挺有意思的。 我们可以逐个点进行选择。新选择一个点对答案的贡献为点到跟的距离减去子树中被选择点的个数

Codeforces Round #635 (Div. 2) C. Linova and Kingdom

https://codeforces.com/contest/1337/problem/C C. Linova and Kingdom Writing light novels is the most important thing in Linova's life. Last night, Linova dreamed about a fantastic kingdom. She began to write a light novel for the kingdom as soon as s

CF1312F Attack on Red Kingdom

Attack on Red Kingdom The Red Kingdom is attacked by the White King and the Black King! The Kingdom is guarded by \(n\) castles, the \(i\)-th castle is defended by \(a_i\) soldiers. To conquer the Red Kingdom, the Kings have to eliminate all the def

Educational Codeforces Round 84 (Rated for Div. 2) B. Princesses and Princes(模拟)

The King of Berland Polycarp LXXXIV has nn daughters. To establish his power to the neighbouring kingdoms he wants to marry his daughters to the princes of these kingdoms. As a lucky coincidence there are nn other kingdoms as well. So Polycarp LXXXIV has

QlikView 中给字段赋值

给一个字段赋值通常会有两种情况,一种是给字段赋单个值,另一种是赋多个值,步骤相同,但是写法会略有区别:   1、单个值:直接将值写在里面就可以了   2、多个值:("United States"|"United Kingdom")  ,这个位置需要注意的是,如果是赋多个值并且有空格的情况,要用“"”括起来。这种办法虽

Roads in the Kingdom CodeForces - 835F (直径)

大意: 给定一个基环树, 求删除一条环上的边使得直径最小. 直径分两种情况 环上点延伸的树内的直径 两个环上点的树内深度最大的点匹配 第一种情况直接树形dp求一下, 第二种情况枚举删除的环边, 线段树维护一下即可.   #include <iostream>#include <sstream>#include <algorit

K - Kingdom of Obsession(素数距离 二分图)

original link - http://acm.hdu.edu.cn/showproblem.php?pid=5943 题意: 一个区间X:[s+1,s+n]X:[s+1,s+n]X:[s+1,s+n],将每个数对应到另外一个区间Y:[1,n]Y:[1,n]Y:[1,n],每个数只能被对应一次,xxx可以对应yyy当且仅当x%y=0x\%y=0x%y=0。求是否可行。 解析: 如果区间有重叠,那么

CodeForces - 115E:Linear Kingdom Races (DP+线段树+lazy)

pro: 从左到有有N个车道,都有一定程度损坏,所以有不同的修理费a[]; 有M场比赛,每场比赛的场地是[Li,Ri],即如果这个区间的车道都被修理好,则可以举办这个比赛,并且收益是Pi。问最多得到多少收益。N,M<2e5; sol: 比较明显的右端点排序,求最大DP问题。  dp[i]表示只考虑修前i条路的最大收益,那么

2017 United Kingdom and Ireland Programming(Gym - 101606)

题目很水。睡过了迟到了一个小时,到达战场一看,俩队友AC五个了。。 就只贴我补的几个吧。   B - Breaking Biscuits Gym - 101606B 旋转卡壳模板题。然后敲错了。 代码是另一种做法:对于每条边,枚举两边的所有点到直线的距离,分别取最大值,然后加起来。 #include <bits/stdc++.h>#defin