首页 > TAG信息列表 > scoi2012
[SCOI2012]喵星人的入侵
(思路大量参考 DP 带师 UM 的博客) 一个能直接把人干劝退的插头 DP 。。 Description 给定一个 \(n * m\) 图,有一个起点和终点和一些空地,你需要在空地上放置一些障碍和不超过 k 个炮台(均不可经过),使得: 起点和终点仍连通,可以存在多条路径; 每经过一个点(起终也算),答案加上该点八连通【题解】SCOI2012 Blinker 的噩梦
容易发现关键在于怎么把树建出来,考虑扫描线,从左往右扫,用平衡树维护与当前扫描线相交的所有图形的两个交点。因为不存在相交情况,所以很方便的一点就是,交点之间 \(y\) 的大小关系不会改变。 插入一个点的时候,找到这个点下面第一个点:如果这个点是上交点,那么两个图形肯定共用父亲;如果BZOJ2754: [SCOI2012]喵星球上的点名(AC自动机)
Time Limit: 20 Sec Memory Limit: 128 MB Submit: 2816 Solved: 1246[Submit][Status][Discuss] Description a180285幸运地被选做了地球到喵星球的留学生。他发现喵星人在上课前的点名现象非常有趣。 假设课堂上有N个喵星人,每个喵星人的名字由姓和名构成。喵星球[SCOI2012]滑雪与时间胶囊(最小生成树)
题目 题意:给出n个景点,m条带权边,n个景点具有高度,且只能从高点向低点滑行,可以回到上(无数个上)一结点。 问从1景点开始最多可以访问多少个景点且权值最小。 解法:访问最多个景点即从1景点开始的联通块,bfs或dfs。 这种有向图的"最小生成树"实际上是最小树形图问题,最小树形图问题也有它自洛谷P5038 [SCOI2012]奇怪的游戏
题目大意: 有一个\(n*m\)的网格,每个格子上有一个数字,每次选两个格子将上面的数字\(+1\),问能不能使网格上所有数字变成相同的,输出操作次数 网格图大部分都黑白染色了吧( 然后我们设黑色格子个数为\(B\),权值和为\(b\),白色格子个数为\(W\),权值和为\(w\) 然而每次操作必定黑色和白色格子[SCOI2012]喵星球上的点名
Link Description 一共\(n\)个人,每个人有两个名字串。再给定\(m\)个点名串。询问每个点名串是多少人名字串的子串。第二问询问对于每个人,一共有多少点名串是其两名字串(满足一个串即可)的子串。 Solution SA+莫队。 结论:串\(T\)是串\(S\)的子串,应当满足串\(S\)有某个后缀和串\(TP2573 [SCOI2012]滑雪
题目链接 在题中每个点都有一个限制条件,对于一个点,只能通向高度低于它的点,所以我们可以对题目中的所有点建有向图。然后可以从1开始通过bfs找到所有可以通向的点。 找到了这些点过后又怎么办呢?题目中说要使得经过最多景点数的点的边权值最小。所以我们能够在bfs的同时将这些能够到洛谷$P5038\ [SCOI2012]$奇怪的游戏 二分+网络流
正解:二分+网络流 解题报告: 传送门$QwQ$ 这种什么,"同时增加",长得就挺网络流的$QwQ$?然后看到问至少加多少次,于是考虑加个二分呗?于是就大体确定了做题方向,用的网络流+二分 然后就考虑怎么建图呗$QwQ$ 首先次数这个显然是有讲究的?就首先算出把所有变相等的最少次数$d$,那可行[SCOI2012] 滑雪(最小树形图)
题意 给定一张图,每个节点有高度,一个点只能到达高度不大于它的其他点,求从1号节点出发所能到达的节点数(包括自己)以及这些节点的最小树形图(以1为根且可以到达其他点的树)的边权和 思路 从1出发能到达的点用一遍bfs即可求出,然后就相当于求剩下节点的最小树形图 如果所有边都是无向边,显然$P2573\ [SCOI2012]滑雪$
$P2573\ [SCOI2012]滑雪$ \(problem\) 这题就是 搜索 + 最小生成树? 反正就是这样的 求从1开始能最到几个地方。 2.最短长度 即最小生成树。 我的做法是 先前向星存图 存好之后遍历 弄好第一个问 顺便处理好第二个问。 可以搜索 遍历出来 能到几个点。 然后顺便重新存图 因P5038 [SCOI2012]奇怪的游戏 二分+网络流
$ \color{#0066ff}{ 题目描述 }$ Blinker最近喜欢上一个奇怪的游戏。 这个游戏在一个 \(N \times M\) 的棋盘上玩,每个格子有一个数。每次\(Blinker\)会选择两个相邻的格子,并使这两个数都加上\(1\)。 现在\(Blinker\)想知道最少多少次能使棋盘上的数都变成同一个数,如果永远不能变成bzoj2758【scoi2012】Blinker的的噩梦
题目描述 一天Blinker醒来,发现自己成为了一个二维世界的点,而且被标记上了一个奇怪的值。 这个世界是由N个边界互不相交(且不相切)的图形组成,这里图形仅包括圆和凸多边形。每个图形还有一个权值。每次Blinker走进或走出某个图形时(相切时经过不算),Blinker的标记值就会被异或上那个值