多校
文章平均质量分 66
Draven__
这个作者很懒,什么都没留下…
展开
-
Hard challenge(用一条经过原点的线,将坐标内的点分成两份)
点击打开链接画一条经过原点的线,图上每个点都有权值,让线两边的每个点的值相乘,让总和最大要让总和最大,要让线两边的值的差距尽量小先计算出每个点与x轴的夹角大小,用atan2 , rad是与x轴的夹角,取值范围为-π到π 用于排序然后从第一个点划一条经过原点的线,用isleft这个函数判断出所有在这条线右边的点,将这些点的权值相加,计算差距然后到第二个点划一条经过原点的线原创 2017-08-16 14:19:16 · 842 阅读 · 0 评论 -
Lazy Running(dijkstra+取模)
点击打开链接取w=\min(d_{1,2},d_{2,3})w=min(d1,2,d2,3),那么对于每一种方案,均可以通过往返跑ww这条边使得距离增加2w2w。也就是说,如果存在距离为kk的方案,那么必然存在距离为k+2wk+2w的方案。设dis_{i,j}disi,j表示从起点出发到达ii,距离模2w2w为jj时的最短路,那么根据dis_{2,j}dis2,j...原创 2017-08-06 19:48:47 · 485 阅读 · 0 评论 -
Balala Power!
题意:给你n个由小写字母组成的字符串,让你给26个字母分配0-25,每个字符串形成一个26进制的数字,问怎么分配权值这n个数的和最大。(不能有前导0,但是单个0可以)题解:每个字符对答案的贡献都可以看作一个 26 进制的数字,问题相当于要给这些贡献加一个 0 到 25 的权重使得答案最大。最大的数匹配 25,次大的数匹配 24,依次类推。排序后这样依次贪心即可,唯一注意的是不能出现转载 2017-07-28 13:15:16 · 303 阅读 · 0 评论 -
Mindis(圆的反演变换)
题意:圆心 O 坐标(0, 0), 给定两点 P, Q(不在圆外),满足 PO = QO, 要在圆上找一点 D,使得 PD + QD 取到最小值。官方题解:做P点关于圆的反演点P',OPD与ODP'相似,相似比是|OP| : r。Q点同理。极小化PD+QD可以转化为极小化P'D+Q'D。当P'Q'与圆有交点时,答案为两点距离,否则最优值在中垂线上取到。时间复杂度...原创 2017-08-11 18:34:25 · 1266 阅读 · 0 评论 -
RXD and math(莫比乌斯函数,快速幂)
RXD is a good mathematician.One day he wants to calculate:∑i=1nkμ2(i)×⌊nki−−−√⌋output the answer module109+7.1≤n,k≤1018μ(n)=1(n=1)μ(n)=(−1)k(n=p1p2…pk)μ(n)=0(otherwise)p1,p2,p3…...原创 2017-08-07 17:04:54 · 465 阅读 · 0 评论 -
Gameia(统计倒数第二层每个节点的叶子节点个数)
点击打开链接如果Bob能把这棵树分成若干两个一组的点对,那么Bob取得胜利,否则Alice获胜。如果原树不存在两两匹配的方案,Alice从树叶开始,每次都染树叶父节点,Bob被迫只能不断的染叶子,Bob退化成一般玩家,因为Bob做不做小动作都不会逆转局势,总会出现一个时间点Bob没办法跟上Alice的节奏而让Alice染到一个周围都已被染色的孤立点(因为原树不存在两两匹配的方案原创 2017-08-11 14:26:45 · 608 阅读 · 0 评论 -
Kanade's sum(链表优化)
Kanade's sumTime Limit: 4000/2000 MS (Java/Others)Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 2017Accepted Submission(s): 813Problem DescriptionGive you an ar...原创 2017-08-02 20:37:47 · 408 阅读 · 0 评论 -
RXD and dividing
题意:给出一棵有n个顶点的树,然后将2~n号顶点分成k块,求1号顶点到分成k块后各个顶点的最大权值和。把1看成整棵树的根. 问题相当于把2\sim n2∼n每个点一个[1, k][1,k]的标号. 然后根据最小斯坦纳树的定义,(x, fa_x)(x,fax)这条边的贡献是 x 子树内不同标号的个数目dif_idifi. 那么显然有dif_i\leq min(k, sz_i)di...原创 2017-08-02 14:26:49 · 413 阅读 · 0 评论 -
小小粉丝度度熊(尺取法)
“尺取法”这种方法就是利用两个下标(起点,终点 )的不断放缩像虫子伸缩爬行一样来卡出一个最优解。这种算法由于只需遍历一遍就可以求出答案,所以时间复杂度就是O(n)。下面给出该算法的伪代码和思路:void worm_solve() { int res=MAX; int s=0,t=0,sum=0; for(;;) { ...原创 2017-08-14 16:35:39 · 512 阅读 · 0 评论