Codeforces 题目传送门 & 洛谷题目传送门 神仙题 %%% 首先考虑对这个奇奇怪怪的 \(t^{3/2}\) 进行一番观察.考虑构造函数 \(f(x)=ax^{3/2}+b(d-x)^{3/2}\),其中 \(a,b,d\) 为参数,将其求个导 \(f'(x)=\dfrac{3}{2}(ax^{1/2}-b(d-x)^{1/2})\),不难发现 \(f'(0)=-\dfrac{3}{2}b\sqrt{d}<0,f'(d)=\dfrac{3}{2}a\sqrt{d}>0\),而…
[CF566C]Logistical Questions 题意:给你一棵n个点的树,点有点权,边有边权,两点间的距离为两点间的边权和的$3\over 2$次方.求这棵树的带权重心. $n\le 200000$ 题解:首先$y=x^{3\over 2}$是单峰的,并且两个形如$y=ax^{3\over 2}+b$的函数加起来得到的函数还是单峰的.如果在树上有两个点a和b,b有很多相邻的点,那么只有一个相邻点c满足:c到a的距离比b到a的距离短,其余的都比b长.于是我们可以得出一个当树只是一条链时的…
洛谷 Codeforces 思路 看到树上路径的统计,容易想到点分治. 虽然只有一个限制,但这个限制比较麻烦,我们把它拆成两个. 设黑边有\(a\)条,白边有\(b\)条,那么有 \[ 2a\geq b\\ 2b\geq a \] 合并两条边时,设原有的是\((a,b)\),要加入的是\((A,B)\),那么有 \[ 2(a+A)\geq b+B \Leftrightarrow 2A-B\geq b-2a\\ 2(b+B)\geq a+A \Leftrightarrow 2B-A\geq a-2…
洛谷 Codeforces 简单的CDQ分治题. 由于对话要求互相看见,无法简单地用树套树切掉,考虑CDQ分治. 按视野从大到小排序,这样只要右边能看见左边就可以保证互相看见. 发现\(K\)固定,那么左右按智商排序.位置离散化之后可以\(two\;pointers\)一下,套个树状数组,就做完了. 由于复杂度瓶颈在树状数组,没必要归并,可以直接\(sort\). 复杂度应该是\(O(n\log^2 n)\). #include<bits/stdc++.h> namespace my_std{…
洛谷 Codeforces 这题我写了四种做法-- 思路 不管做法怎样,思路都是一样的. 好吧,其实不一样,有细微的差别. 第一种 考虑位置\(x\)对区间\([l,r]\)有\(\pm x\)的贡献当且仅当\(pre_x\!\!<\!l \;or\;nxt_x\!\!>\!r\),其中\(pre,nxt\)表示与\(x\)同种颜色的前驱后继. 那么题目就转化为二维数点了:一维是位置,一维是前驱/后继,权值是\(\pm​\)位置. 第二种 考虑最后的减去开始的等价于每一位减去前面的. 即位置\…
洛谷 Codeforces 分治的题目,或者说分治的思想,是非常灵活多变的. 所以对我这种智商低的选手特别不友好 脑子不好使怎么办?多做题吧-- 前置知识 线性基是你必须会的,不然这题不可做. 推荐再去看看洛谷P4151. 思路 看到异或最短路,显然线性基. 做题多一些的同学想必已经想到了"洛谷P4151 [WC2011]最大XOR和路径"了. 先考虑没有加边删边的做法: 做出原图的任意一棵生成树: 把每个非树边和树边形成的环丢进线性基里: 询问时把两点在树上的路径异或和丢进线性基里求…
In this problem you will meet the simplified model of game Pudding Monsters. An important process in developing any game is creating levels. A game field in Pudding Monsters is an n × n rectangular grid, n of its cells contain monsters and some other…
题目链接:http://codeforces.com/problemset/problem/448/C 题意: 有n个木板竖着插成一排栅栏,第i块木板高度为a[i]. 你现在要将栅栏上所有地方刷上油漆. 每次你可以选择竖着刷或横着刷,但必须保证一次刷的地方不能间断. 问你至少要刷几次才能刷满. 题解: 首先有一个贪心结论: 对于当前要刷的一片区域,令minn为这片区域的最小高度. 如果选择横着刷,则至少要将区域底部的minn层刷完. 如图,至少要将下面两层刷完: 然后考虑如何分治: 对于当前的这…
Sereja and Brackets 题目链接: CodeForces - 380C Sereja has a bracket sequence s1, s2, ..., *s**n, or, in other words, a string s* of length n, consisting of characters "(" and ")". Sereja needs to answer m queries, each of them is describe…
原文链接https://www.cnblogs.com/zhouzhendong/p/9161557.html 题目传送门 - Codeforces 986D 题意 给定一个数 $n(n\leq 10^{1500000})$ , 求满足 $(\prod b_i)\geq n$ 的 $\min(\sum b_i)$ . 题解 这题是下面链接中那题的加强版. BZOJ1263 [SCOI2006]整数划分 高精度 这题的做法是预估出大概有多少个 $3$ ,然后最后几个数一个一个加上去就可以了. 至于…