C. Yet Another Walking Robot 每次把走到的点记录下来,如果后续出现了一个点在之前已经出现过了,那么肯定出现了重复走。另外维护下 r-l 要尽可能小 #include <iostream> #include <algorithm> #include <string> #in ...
分类:
其他好文 时间:
2020-02-16 17:58:52
阅读次数:
86
主要思路:贪心,从叶子节点开始(按深度排序即可做到),从它父亲的父亲,把距离不超过 $2$ 的节点都打上标记,$ans++$。这样一定最优,因为必须覆盖那个没被覆盖的节点。注意把根节点的父亲设为根节点,否则从根节点开始跳就RE了 ...
分类:
其他好文 时间:
2020-02-16 16:18:57
阅读次数:
71
感觉这一题的状态设计很有讲究 一开始的思路是枚举s的前半部分,去贪心的匹配t串,然后再看剩余部分是否可以匹配t的后半部分 但这种思路显然是错的(样例都过不了),原因是可能t后半部分的某个特征串只在s中(对应的一个特征序列)出现了一次, 但是这个s中的特征序列由于被t前半部分贪心的匹配,被打破了,所以 ...
分类:
其他好文 时间:
2020-02-15 13:44:30
阅读次数:
92
种下一个树最好的时间有两个,一个是十年前,一个是现在。即使寒假过了一大半但是现在开始继续努力,完成多少就是赚到多少!不过我最大的缺点就是贪心,而且容易变化。所以定下来的目标总是变了变去,想做这个又想做那个。现在要重新确定每天做什么,就做那几样,就不要定一堆目标,每样都蜻蜓点水的了。 1、《不背单词》 ...
分类:
其他好文 时间:
2020-02-15 13:18:50
阅读次数:
80
A. Three Strings【思维】 题意:给你三个串a,b,c,对于串的每一个字符i,必须进行以下操作:swap(a_i,c_i)或者swap(b_i,c_i),问是否存在操作方案使得操作完之后使得ab串相等 题解:判断是否存在a_i,b_i同时不等于c_i的情况 #include<iostr ...
分类:
其他好文 时间:
2020-02-14 18:16:27
阅读次数:
85
CF605E Intergalaxy Trips 考虑你是不知道后来的边的出现情况的,所以可以这样做:每天你都选择一些点进行观察,知道某天往这些点里面的某条边可用了,你就往这条边走。这样贪心总是对的。 我们定义一个点的权值就是这个点到 $ n $ 的期望距离。同时它就是我们要算的答案。 但是注意到一 ...
分类:
其他好文 时间:
2020-02-13 14:48:50
阅读次数:
52
「JSOI2015」套娃 "传送门" 考虑贪心。 首先我们假设所有的套娃都互相不套。 然后我们考虑合并两个套娃 $i$,$j$ 假设我们把 $i$ 套到 $j$ 里面去,那么就可以减少 $b_j \times out_i$ 的花费。 我们有一种 贪心策略就是说把所有套娃按 $b$ 从大到小排序,然后 ...
分类:
Web程序 时间:
2020-02-13 10:02:39
阅读次数:
82
/* 先把n二进制拆分,用map保存a[i]出现次数 然后从低位到高位去凑n 对于n某位是1的位数i 考虑mp里是否有1<<i 如果没有,考虑mp里比i低位的数能否凑出i, 如果还是没有,就从高位去拆,只有这种情况下,才会对答案有贡献 */ #include<bits/stdc++.h> using ...
分类:
其他好文 时间:
2020-02-13 09:46:36
阅读次数:
55
首先,$\mathcal O(n^2)$ 的思路十分好想。 大概就是说,我们发现答案序列是单调不降的,所以倒着来,对于每个位置 $i$,我们找一个它后面的位置 $j$,使得 $\frac{\sum_{k=i}^{j} a_k}{j-i+1}$ 是最小的,然后把这一段全部赋值为这个值。这样,我们就在优 ...
分类:
其他好文 时间:
2020-02-11 00:20:39
阅读次数:
60
把所有数看作N块,后面的块比前面的块小的话就合并,这个过程可能会有很多次,因为后面合并后会把前面的块均摊地更小,可能会影响更前面地块,像是多米诺骨牌效应,从后向前推 1 #define HAVE_STRUCT_TIMESPEC 2 #include<bits/stdc++.h> 3 using na ...
分类:
其他好文 时间:
2020-02-10 22:41:37
阅读次数:
85