随笔分类 - 《TZOJ练习》
摘要:好题!一开始看到题觉得和之前做过的很像,就三分然后wa了。 这题需要好好思考!考虑去枚举操作。 当某一种的最多可拿数量 <= 1e5时,我们可以直接枚举这一种取多少个。 当两种的最多可拿数量都 > 1e5时,这时很显然的是s1,s2都很小,那么我们的枚举范围需要压到和s1,s2线性相关,这样复杂度就
阅读全文
摘要:本来是一个水题,贪心排下序然后区间覆盖就行了。 但是这里有个坑:那就是时间要从开始挤牛奶才算。 也就是说 1 100 200 答案是100 0. #include<bits/stdc++.h> using namespace std; typedef long long LL; typedef pa
阅读全文
摘要:和hdu那题一样也是带权并查集。 考虑从最下面为根,那么根的ans = 0,路径压缩之后0就不会一直更新影响了。 然后需要注意的点,P不是点数,应该将N全初始化,就是这里一直TLE。 然后注意询问前先路径压缩一下,因为可能之前没有更新到。 #include<bits/stdc++.h> using
阅读全文
摘要:一开始以为只能在第一象限。。 这题主要就是可能0~300的点全都不是安全的,所以bfs的判断边界要到305才行。 然后,可能开始的点会被旁边的点炸到,这样开始就死了。 #include<bits/stdc++.h> using namespace std; typedef long long LL;
阅读全文
摘要:求最大质因子,线性筛一下然后就可以暴力了。 或者做质因子分解也可以,因为只求质因子,肯定都可以被分解到。 这里需要明确一个概念,这个质因子包括这个数本身。(这里被wa了) #include<bits/stdc++.h> using namespace std; typedef long long L
阅读全文
摘要:挺好的思维题吧,一开始觉得是规则题,但是没找出来。 后面想了下,尺取维护所有可能的区间即可,复杂度O(n) #include<bits/stdc++.h> using namespace std; typedef long long LL; typedef pair<int,int> pii; co
阅读全文
摘要:挺好的一个题,就是数据拉胯~,一开始暴力都能水过去.. 暴力: #include<bits/stdc++.h> using namespace std; typedef long long LL; typedef pair<LL,int> pii; const int N = 1005; const
阅读全文
摘要:非常好的一个题,第一眼看到就觉得是贪心或者DP。 首先,一开始的思路是枚举第k天,然后把第k天最大的放入,但是保证每天放入剩下的树中对于这一天最大的,不一定是最优方案,所以不能枚举了。 正解:dp,dp[i][j]表示到第i棵树,天数为j的最大代价。 转移很简单,但是这里直接去dp,还不太对,因为有
阅读全文
摘要:这题挺好的吧:一开始看成或了。是异或。 首先,我们排个升序。 显然对于一个数,要将他变大,肯定是要和他小的来异或。 那么由于0异或上一个数没有变化。 所以我们不考虑0的情况。 首先,如果小的数的最高位的1和大的数的这一位都是1。 那么这个大的数显然会变小,且就算后面的都满足0 1都不会大。 因为2^
阅读全文
摘要:题意就是求子串在主串中的出现次数。 然后这里的子串是环形的,所以要特别处理一下,然后使用过的子串后面不能再去匹配。 首先,对于环形子串,我们化环为链然后慢慢取一段段来匹配即可。 显然这里是kmp匹配。然后map标记下是否出现过。 暴力的回溯的话就是找到了i = i-t.size()-1,j = 0。
阅读全文
摘要:主要在于对每个点贡献的思考。 单独看所有的方案数:每个点的贡献就是他是最大值的方案数*他的值 - 他是最小值的方案数*他的值。 对于最大值的方案数:我们找到他的左边第一个比他大的点L,右边第一个比他大的点r。 然后这个值可以分为两部分。两边分开独立的。i-L + r-i。 和两边组合形成的方案数(i
阅读全文
摘要:思维量很大的一个题。 对于A类的数据,显然就是一棵树,那么LCA找下距离差即可。 对于B类的数据,是环套树。个人认为和C类数据差的不是很多了。 只是这里因为只有一个环,所以可以暴力点,把环上的所有边都先找到然后特殊处理即可。 对于C类数据,经典的仙人掌图,考虑拆环的解法。 对于每个环,拆环为树,然后
阅读全文
摘要:Accept :(题目就是这个..) 思路:一开始读错题来着。以为两条线不能有一样的点。 后面发现题目就是让我们求两条线,每条线只经过两个点即可。 首先,考虑如何判断一条直线经过两个点: 枚举一个点,然后可以发现,对于在同一条直线上的点,他们肯定都会经过这个枚举的点,并且因为在同一条直线上,所以斜率
阅读全文

浙公网安备 33010602011771号