[NWPU][2018暑假集训]day3
一个低调的帅哥
这个作者很懒,什么都没留下…
展开
-
CodeForces - 546C
这题也没什么好难的,就是一个点:什么时候才能断定是永远平局,其实逻辑上讲是发现队列的状态有循环出现,那么就是永远不能跳出循环,但是不可能每次队列状态改变都去判断一下,又因为这题n非常小,所以随便定义一个循环的极限次数即可,比如10000,如果10000次都挑不出来那么可以断定答案是-1. 代码://A#include<stdio.h>#include<str...原创 2018-09-01 23:00:26 · 177 阅读 · 0 评论 -
CodeForces - 920E Connected Components?
这题刚开始想用并查集,因为具体只要点的合并,不需要知道每条边的权值,所以给了个错误答案://I(并查集--wa了)#include<stdio.h>#include<string.h>#include<map>#include<algorithm>using namespace std;#define MAXN 200010ma...原创 2018-09-14 15:32:09 · 197 阅读 · 0 评论 -
Gym - 101572G Galactic Collegiate Programming Contest
这题上一篇博客用了树状数组来做,后来又了解到可以用set来做,没想到无论是从理解上还是从代码长度和复杂程度上都简单了不少。。。。set的基本用法就自己百度吧参考博客:https://blog.csdn.net/bbbbswbq/article/details/79839832 来讲解几个细节点:(1)关键还是用set来维护1排名之前的队伍,而且1自己不需要进去,因为:...原创 2018-09-07 17:14:59 · 197 阅读 · 0 评论 -
Galactic Collegiate Programming Contest
这题虽然说是模板题,但是确实有很多地方第一次学有点难懂。先看一下树状数组的介绍:https://blog.csdn.net/flushhip/article/details/79165701https://www.cnblogs.com/George1994/p/7710886.html 本题参考博客:https://blog.csdn.net/a664607530/art...原创 2018-09-07 15:47:04 · 224 阅读 · 0 评论 -
CodeForces - 566D
这题虽然是模板题,但是还是要借助区间优化来实现段落的合并,因为数据量实在是太大了,很容易超时。如果不加的朴素做法就是://C#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;#define MAXN 200010int Pre[MAXN],N...原创 2018-09-03 19:02:34 · 153 阅读 · 0 评论 -
GYM - 101572E Emptying the Baltic
这题网上其实有很多种理解,但是最终的做法其实本质都是用了优先队列和bfs来完成。参考:https://blog.csdn.net/yz467796454/article/details/78250172这里用优先队列的原因是:如果在抽水机的深度为4的情况下,有一个方格(深度是5)和抽水机并非直接相连,而是有一个格子阻隔,比如阻隔的格子有两个,一个是深度为5,一个是3,那么本来是可以...原创 2018-09-05 19:51:58 · 123 阅读 · 0 评论 -
CodeForces - 722C Destroying Array
这题用并查集比县单数简单多了,就是那么逆序比较难想。因为并查集一般都是想集合里面加元素,而不是删除元素(压根就没有删除操作),所以理所当然是逆序。而且一看到要点合并,就很有可能是并查集。参考博客:https://www.cnblogs.com/Ash-ly/p/5932712.html 注意点:是用根节点的x,y,而不是用a,b!!!因为:后面的操作都统一用根节...原创 2018-09-09 00:12:08 · 110 阅读 · 0 评论 -
CodeForces - 722C Destroying Array
这题用线段树来解是有点***,但是确实学到了很多。参考博客:https://blog.csdn.net/kevin66654/article/details/52727079 我来解释几个晦涩点:(1)意思是可能是在左边,可能是在右边,也可能是跨区间的,第三个的意思是跨区间。当然,如果左右子区间都是连续的,这三个的数值就相同了。我已开始有一个疑问,如果再左右子树的分...原创 2018-09-08 21:51:41 · 146 阅读 · 0 评论 -
CodeForces - 821C Okabe and Boxes
这题我说实话有点迷,题解的方法和模拟的思路相差有点大,但是对于每个可怀疑的细节都可以通过。。。参考博客:https://blog.csdn.net/m0_37729344/article/details/73771086这解法有几个晦涩点:(1)全在这一步中:其中:这一步很难想到,因为直接一次将栈全部清空,那我想,下面还有那么多remove怎么办,其实可以用wh...原创 2018-09-08 00:08:48 · 178 阅读 · 0 评论 -
Sliding Window POJ - 2823
线段树模板题,但是掉坑很多次:(1)普通的区间查询这里都是>=和<=,但是这里只能是==,因为如果是【1,3】进来的,tree[k]的范围是【1,8】就会直接进去了。 (2)跨区间的时候有两种写法:12但是第二种写法在这题很容易崩,所以推荐用第一种写法。 (3)查询的时候因为同时要查询maxn和minn,而可以:在形参处加...原创 2018-09-07 21:03:29 · 123 阅读 · 0 评论 -
CodeForces - 508E Arthur and Brackets
又来丢人现眼了。。。一开始用递归想要枚举所有情况,没想到test 7就挂了,还没有找到原因。。。错误代码://J#include<stdio.h>#include<string.h>#define MAXN 610int L[MAXN],R[MAXN];bool vis[2*MAXN];int ans[2*MAXN];//1代表左括号,2代表右括...原创 2018-09-14 19:48:53 · 98 阅读 · 0 评论