bzoj 4780: [Usaco2017 Open]Modern Art 2】的更多相关文章

4780: [Usaco2017 Open]Modern Art 2 Time Limit: 10 Sec  Memory Limit: 128 MB Description Having become bored with standard 2-dimensional artwork (and also frustrated at others copying her w ork), the great bovine artist Picowso has decided to switch t…
传送门 可以预处理出每种颜色的上下左右的位置,这样就框出来了一个个矩形,代表每种颜色分别涂了哪里. 然后用二维的差分. 就可以求出来每个位置至少涂了几次,如果 > 1 的话,就肯定不是先涂的, 如果是1的话,并且不是只有一种颜色,那么也有可能是先涂的, 如果只有一种颜色,并且 n != 1,那么一定不是先涂的,如果 n == 1,也就只有一种颜色了,那么它就是先涂的 #include <cstdio> #include <cstring> #include <iostr…
Description Having become bored with standard 2-dimensional artwork (and also frustrated at others copying her work), the great bovine artist Picowso has decided to switch to a more minimalist, 1-dimensional style.Although, her paintings can now be d…
lesson18 Electric currents in modern art electricity n. 电力:电流; electric adj. 电的:电动的; electronic adj. 电子的 current n. (水,气,电)流 fail to do (想尽了办法)未能做某事 be used to doing 适应... so-called 有点贬义的意思 exhibition n. 展览,显示:展览会: hold an exhibition 举办一个展会 exhibit 展…
P3668 [USACO17OPEN]Modern Art 2 现代艺术2 题目背景 小TY的同学HF也想创作艺术 HF只有一块长条状的画布(画条),所以每一次涂色只能涂上连续几个单位的颜料,同样新的颜料可以完全覆盖旧的颜料 由于他的颜料同样非常傲娇,每次涂完要等上1day才能完全干,只有旧颜料干了以后才能用新颜料覆盖 现在小HF用了2017个年头终于画出了一个大作品,自己非常满意 现在他想复制这份作品 题目描述 Having become bored with standard 2-dimen…
4777: [Usaco2017 Open]Switch Grass Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 46  Solved: 10[Submit][Status][Discuss] 题目:给定一张带权无向图,每个点有一个颜色,每次改变一个点的颜色,要求你在操作后输出这个图中最近异色点对之间的距离最近异色点对定义为:一对点颜色不同,且距离最小. 数据范围:N个点,M条无向边,Q次修改,颜色范围[1,k],边权L.N,M,Q≤20000…
枚举$T_1$的树根,然后DP,设$f[i][j]$表示$T_1$的子树$i$是否存在包括i的连通子树与$T_2$的子树$j$同构. 若$j$是叶子,那么显然可以. 若$deg_i<deg_j$,那么显然不可以. 否则将$i$与$j$所有互相同构的儿子之间连边,二分图匹配判断是否存在完美匹配即可. #include<cstdio> #include<algorithm> const int N=105; int T,C,n,m,o,i,j,k,x,y; int g[N],v[…
题面:P3605 [USACO17JAN]Promotion Counting晋升者计数 题解:这是一道万能题,树状数组 || 主席树 || 线段树合并 || 莫队套分块 || 线段树 都可以写..记得离散化 线段树合并版: #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; ; ,edge_head[maxn],W[ma…
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=4756 [题目大意] 给出一棵树,对于每个节点,求其子树中比父节点大的点个数 [题解] 我们考虑每个权值建立一棵线段树,边dfs边将子节点合并为一颗线段树, 那么只要查询当前点的树上后缀和即可. [代码] #include <cstdio> #include <algorithm> #include <cstring> #include <vector&…
这道题首先可以看出答案一定是一条边,而且答案一定在最小生成树上,那么我们就可以在这个最小生成树上维护他与异色儿子的边最小值,所以我们就可以已通过Kruskal和一棵平衡树来解决,时间复杂度是O(n*logn)级别的但是那个大常数..........然后在最外面独立一棵权值线段树来存最终答案..... 证明:若答案不是一条边,那么在这个答案里一定有中间点可以推翻答案:若答案不是在最小生成树内,那么在最小生成树上一定用答案可以更新他(这个答案边与最小生成树内这两个点的路径形成回路,那么他一定会被推翻…