Circling Round Treasures CodeForces - 375C】的更多相关文章

C. Circling Round Treasures time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output You have a map as a rectangle table. Each cell of the table is either an obstacle, or a treasure with a certain p…
C - Circling Round Treasures 题意: 在一个$n*m$的地图上,有一些障碍,还有a个宝箱和b个炸弹.你从(sx,sy)出发,走四连通的格子.你需要走一条闭合的路径,可以自交,且围出来的复杂多边形内不能包含任何炸弹.你围出来的复杂多边形中包含的宝箱的价值和减去步数就是你的收益.求最大收益.$n,m \le 20,a + b \le 8$ 太坑了课件上的题意有问题一开始没说步数... 后来改上然后$inq[][][]$最后没从$2$改成$S$然后我就看着玄学的$inq$好…
You have a map as a rectangle table. Each cell of the table is either an obstacle, or a treasure with a certain price, or a bomb, or an empty cell. Your initial position is also given to you. You can go from one cell of the map to a side-adjacent one…
题意:要求在一张网格图上走出一条闭合路径,不得将炸弹包围进去,使围出的总价值减去路径长度最大. /* 类似于poj3182的做法,只不过出现了多个点,那么就用状态压缩的方法记录一个集合即可. */ #include<cstdio> #include<iostream> #include<cstring> #include<queue> using namespace std; ][],ch[]; ],gy[],val[],w[],dp[][][],cnt=-…
题面传送门 注意到这题中宝藏 \(+\) 炸弹个数最多只有 \(8\) 个,故考虑状压,设 \(dp[x][y][S]\) 表示当前坐标为 \((x,y)\),有且仅有 \(S\) 当中的物品被包围在凸多边形内部所走过的最少步数. 考虑转移,枚举与 \((x,y)\) 相邻的点 \((x',y')\).但是 \(S\) 的变化可能有些棘手.这里有一个结论,对于某一点 \((x,y)\),任意引出一条射线,如果它与多边形有奇数个交点,那么 \((x,y)\) 就在多边形内部.由于这里引出的射线可以…
Portal --> CF375C Solution 一个有趣的事情:题目中有很大的篇幅在介绍如何判断一个位置在不在所围的多边形中 那么..给了方法当然就是要用啊 ​ 首先是不能包含\('B'\),处理方式很简单直接把他当成一个值为\(-inf\)的宝藏即可,这样所有的object就全部可以看成一类了,不需要再额外考虑 注意到object的总数很少,考虑状压,记\(vis[x][y][st]\)表示当前在\((x,y)\)这个点,射线与路径的交点数量为奇数的object的状态为\(st\),这种…
题目大意 给定一个$n\times m$的网格$(n,m\leq 20)$,每个格子都是$S\space \#\space B\space x\space .$中第一个. $S$表示起点,保证有且仅有一个. $\#$表示障碍,不能通过,$.$表示空地,可以通过 $B$表示炸弹,$x$是一个数字,每个数子代表着一个宝藏,每个宝藏有对应的价值(可以为负). 炸弹和宝藏的数量不超过$8$个 现在你要规划一条从$S$出发,每次只能沿着上下左右四个方向,只能经过除了空地和起点的可以自交的闭合回路,使得这条…
Codeforces Beta Round #27 (Codeforces format, Div. 2) http://codeforces.com/contest/27 A #include<bits/stdc++.h> using namespace std; #define lson l,mid,rt<<1 #define rson mid+1,r,rt<<1|1 #define sqr(x) ((x)*(x)) #define maxn 1000005 typ…
这题拖了快一周_(:з」∠)_就把这货单独拿出来溜溜吧~ 本文归属:Educational Codeforces Round 3 题目链接:609F - Frogs and mosquitoes 题目大意:在\(x\)轴上有\(n\)只青蛙,每只青蛙有对应的位置\(x_i\)和他舌头的长度\(t_i\),青蛙可以吃到位置在\([x_i,t_i]\)内的蚊子.\(m\)只蚊子依次降落在位置\(p_i\)上,如果这只蚊子在某只青蛙的攻击范围内,那么他会被这只青蛙吃掉,若有多只青蛙可以吃掉这只蚊子,处…
题目链接:http://codeforces.com/problemset/problem/20/C 思路:需要用优化过的dijkstra,提供两种写法. #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <vector> #include <queue> #include <set> #define…