世界顶级选手的刷题之道 dreamoon,知名中国台湾籍ACM选手,此为他的codeforces曲线: 关于中间突降的那段,还有个小故事: 当时dreamoon已经是世界上的顶级选手,甚至前一场的div1他排名第3!(当时cf的分制和现在不同,所以现在看起来只是个红名) 由于他没有拿到过div2的第 ...
分类:
其他好文 时间:
2020-05-14 22:27:10
阅读次数:
133
https://ac.nowcoder.com/acm/contest/5634/C 想一想就能发现这是一道质因素分解的模板题; 我们只要求出该数字由多少个质因素组成,然后判断即可; 1 #include<bits/stdc++.h> 2 using namespace std; 3 int mai ...
分类:
其他好文 时间:
2020-05-13 21:50:19
阅读次数:
79
kruskal重构树 $\mathcal{O(nlogn)}$ 学习资料: "hwzzyr的博客" 定义?: 在kruskal算法的过程中,把最小生成树的边权改为点权而构建的二叉树。 抛开kruskal算法来讲,对原图(注意,不止对树,图也可以)的边集进行排序,然后将边当成节点建树。 性质: 是一个 ...
分类:
其他好文 时间:
2020-05-13 20:15:19
阅读次数:
46
地址:http://acm.hdu.edu.cn/showproblem.php?pid=1754 解析:先说update操作。c[]表示所管辖的区间范围里的最大值。 void update(int id,int x) { while(id<=n) { c[id]=x; for(int i=1;i< ...
分类:
编程语言 时间:
2020-05-12 18:43:37
阅读次数:
55
题目:传送门 题意 思路 对于 k <= n - 1 的情况,我们可以将全部的牌隔一个位存起来,也就是起初的时候,第 i 张牌,放在 b[ 2 * i - 1 ] 的位置。每次操作将第 i 张牌放到第 (i - 1) % (n - 1) + 2 = i + 1 的位置的下一位,即放到 b[ 2 * ...
分类:
其他好文 时间:
2020-05-12 11:22:22
阅读次数:
86
地址:https://ac.nowcoder.com/acm/contest/5477/F 解析:其实并不需要关心它具体是怎么构造的,那样的是很麻烦的。。。明确一点,某个位置出现的次数越多,就需要给它赋越大的值,既当前sum=出现次数*x。出现次数,可以通过差分数组或线段树维护一下,然后排个序,按顺 ...
分类:
编程语言 时间:
2020-05-11 00:50:32
阅读次数:
76
题:https://ac.nowcoder.com/acm/contest/5477/C 分析:最少时间能走完的点一定是连线的[l,r],又n<=1000所以考虑区间dp,设dp[i][j][k],0<=k<=1,当k==0时代表最少时间跑完区间[i,j]且终点在l时的最少时间,k==1时则是终点在 ...
分类:
其他好文 时间:
2020-05-10 23:28:25
阅读次数:
113
dreamoon,知名中国台湾籍ACM选手,此为他的codeforces曲线: 关于中间突降的那段,还有个小故事: 当时dreamoon已经是世界上的顶级选手,甚至前一场的div1他排名第3!(当时cf的分制和现在不同,所以现在看起来只是个红名) 由于他没有拿到过div2的第一名,于是决定一直故意掉 ...
分类:
其他好文 时间:
2020-05-10 21:39:21
阅读次数:
98
import java.util.TreeMap; class Trie { private class Node{ public boolean isWord; public TreeMap<Character, Node> next; public Node(boolean isWord){ t ...
分类:
其他好文 时间:
2020-05-10 10:59:32
阅读次数:
66
http://acm.hdu.edu.cn/showproblem.php?pid=6351 题目 给一个数字n,可以执行k次交换,每次交换都选择数字中的2位,并且交换后不能出现前导0,问能得到的最小值和最大值是多少。 T<=100,n,k<=10^9 题解 方法一 把交换看为对换,枚举排列,然后分 ...
分类:
其他好文 时间:
2020-05-08 13:09:47
阅读次数:
52