题目链接:Uncle Bogdan and Country Happiness 题意: t组输入,每组数据输入如下 首先一个n代表有n个城市,所有城市总人数为m,后面输入pi表示第i个城市的居住人数,后面的hi表示经过这个城市的人中  开心的人数-伤心的人数 后面输入n-1条无向边,每条边的长度都一样 这个图的结构是树形结构,且刚开始所有人都在1点,也就是根节点.他们会走最短路径去回到他们居住的城市 所有人在走的路上都可能由好心情变成坏心情,但是坏心情不会变成好心情,且在城市内这个变化不会发生…
题意:有\(n\)个人,每个人居住在某个节点,所有人都在节点\(1\)上班,下班后沿着最短路径回家,在回家途中心情可能会变差(心情只会变差不会变好),每个节点都有一个开心值,开心值等于所有经过时的好心情人数减去差心情人数,现在给你每个城市的开心值,问是否满足情况. 题解:这题真的好难想啊,假设第\(i\)个城市经过的好心情的人数是\(good[i]\),差心情是\(bad[i]\),经过的总人数是\(sum[i]\),题目所要求的开心值是\(h[i]\),那么\(good[i]+bad[i]=s…
[题目]E. NN country [题意]给定n个点的树和m条链,q次询问一条链(a,b)最少被多少条给定的链覆盖.\(n,m,q \leq 2*10^5\). [算法]树上倍增+二维数点(树状数组) 先从半链角度考虑.将每条给定链和每个询问拆成向上的一段和向下的一段.那么假设询问的半链最低端节点为x,贪心地选择x子树内向上延伸最远的给定半链(假设最高点为y),再从y继续贪心直至超过半链最顶端节点.再只考虑半链的前提下贪心显然正确. 但是我们注意到,这样贪心的复杂度是不正确的,因为如果每次只跳…
A. Captain Flint and Crew Recruitment #构造 题目链接 题意 定义一类正整数,能够被\(p*q\)表示,其中\(p.q(1<p<q)\)均为素数,称之为\(nearly\ prime\) .现要求判断整数\(n\),是否能被4个不同整数之和表示,且其中至少三个整数为\(nearly\ prime\) (是则,输出YES否则输出NO) 分析 \(n = 31 = 2\times7+2\times5+2\times3+1\),其中\(14,10,6\)为\(n…
D. Ralph And His Tour in Binary Country time limit per test 2.5 seconds memory limit per test 512 megabytes input standard input output standard output Ralph is in the Binary Country. The Binary Country consists of n cities and (n - 1) bidirectional…
A. Alex and a Rhombus time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard output While playing with geometric figures Alex has accidentally invented a concept of a n-th order rhombus in a cell grid. A 1-s…
Description 在一个二维平面上有若干个矩形.定义一个矩形的(或有边在无限远处)区域为符合条件的条件为: 这个区域仅包含一个矩形,且不能使边界穿过任何一个矩形的内部. 这个区域可以用一个水平或竖直的直线分割为两个符合条件的区域. 现给定一个有 \(n\) 个矩形的平面,请你判断整个平面区域是否符合条件. Hint for all: \(1\le n\le 10^5\) for Easy: \(n\le 10^3\) \(0\le \text{坐标大小} \le 10^9\) Soluti…
Description In the NN country, there are n cities, numbered from 1 to n, and n−1 roads, connecting them. There is a roads path between any two cities. There are m bidirectional bus routes between cities. Buses drive between two cities taking the shor…
https://codeforces.com/contest/1181/problem/E2 想到了划分的方法跟题解一样,但是没理清楚复杂度,很难受. 看了题解觉得很有道理,还是自己太菜了. 然后直接开始写,四个if写的太难受了180+行. ac之后看了红名大佬的代码,简直woc,好短,四个sort我分开写了,但是红名大佬写的很巧妙,借鉴了一下代码长度缩短到110行左右,红名大佬np,特此记录. 使用静态链表,复杂度计算 T(n) = T(a1)+T(a2)+T(a3) ... + O(nlog…
Codeforces 题面传送门 & 洛谷题面传送门 一道(绝对)偏简单的 D1E,但是我怕自己过若干年(大雾)忘了自己的解法了,所以过来水篇题解( 首先考虑怎么暴力地解决这个问题,不难发现我们每一步肯定会贪心,贪心地跳到所有经过当前点的公交线路中另一端最浅的位置,直到到达两点的 \(\text{LCA}\) 为止.不难发现上述过程可以倍增优化,具体来说我们记 \(nxt_{i,j}\) 表示从 \(i\) 开始走 \(2^j\) 步最浅能够到达哪里,那么我们可以一面树剖求出经过每个点能够到达深…