CodeForces - 1214D D. Treasure Island】的更多相关文章

题目链接:https://vjudge.net/problem/2728294/origin 思路:可以抽象成管道,先试试能不能找到一个通道能通到终点, 如果可以则封锁这个通道,一个石头即可, 再试试能不能找到另一个通道能到达终点, 如果可以则再用一个石头封锁这个通道. 整个题目抽象成能不能找出两个独立的通道(如果不能说明需要公用一个管道),从起点流到终点. 为了充分利用格子,最合理化找出通道,应该选择靠边的方法找格子. #include <stdio.h> #include <iost…
[Codeforces 1214D]Treasure Island(dfs) 题面 给出一个n*m的字符矩阵,'.'表示能通过,'#'表示不能通过.每步可以往下或往右走.问至少把多少个'.'变成'#',才能让从(1,1)出发不能到达(n,m) \(n \times m \leq 10^6\) 分析 第一眼还以为是最小割,一看数据范围感觉会TLE.实际上搜索就可以了. 首先发现答案肯定是0,1,2中的一个(输出rand()%3),因为最多用2个'#',把(1,1)右侧和下方堵住就可以了. 然后注意…
A - Treasure Island Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submit Status Description standard input/output Announcement   Statements Pirate John Silver has found a map depicting exactly one island in a sea. The…
D. Treasure Island dfs大法好== 写半天bfs疯狂MLE dfs标记掉路上的一些点 然后再跑一遍dfs #include<bits/stdc++.h> using namespace std; #define int long long #define sc(x) scanf("%I64d",&x); #define read(A) for(int i=0;i<n;i++)scanf("%I64d",&A[i]…
All of us love treasures, right? That's why young Vasya is heading for a Treasure Island. Treasure Island may be represented as a rectangular table n×mn×m which is surrounded by the ocean. Let us number rows of the field with consecutive integers fro…
主题链接:点击打开链接 意甲冠军: 特定n*m矩阵 # 是墙 . 和字母是平地 最多有26个字母(不反复出现) 以下k个指令. 每一个指令代表移动的方向和步数. 若以某个字母为起点,依次运行全部的指令,不论什么过程都不会撞到墙或走出地图.则这个字母合法. 按字典序输出全部合法的字母.若没有字母合法则输出' no solution' 预处理一下前缀和然后暴力. #include <cstdio> #include <iostream> #include <algorithm&g…
题意:https://codeforc.es/contest/1214/problem/D 给你一个n*m的图,每次可以往右或者往下走,问你使(1,1)不能到(n,m)最少要放多少 ‘ # ’ . 思路: 最多是2,不能到(n,m)是0,接下来就是判断1. 也就是判断有没有一个点所有路径必须经过. 第一遍dfs往下走优先,第二遍dfs往右走优先,判断两次走法有没有除了起点和终点其他相同的点,如果有就是有截断点. #define IOS ios_base::sync_with_stdio(0);…
B. Island Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100114 Description On February 30th this year astronauts from the International Space Station flew over the Pacific Ocean and took a picture, on which was discovered a pr…
http://codeforces.com/problemset/problem/540/D 题目大意: 会出石头.剪刀.布的人分别有r,s,p个,他们相互碰到的概率相同,输的人死掉,问最终活下去的人是三种类型的概率. 思路: f[i][j][k]代表i个石头,j个剪刀,k个布状态的概率,初始f[n][m][K]=1 #include<cstdio> #include<cmath> #include<algorithm> #include<cstring>…
A. Orchestra time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Paul is at the orchestra. The string section is arranged in an r × c rectangular grid and is filled with violinists with the ex…
题目链接:https://vjudge.net/contest/226823#problem/D The Bad Luck Island is inhabited by three kinds of species: r rocks, s scissors and p papers. At some moments of time two random individuals meet (all pairs of individuals can meet equiprobably), and i…
题目链接:http://codeforces.com/problemset/problem/1249/B2 思路:用并查集模拟链表,把关系串联起来,如果成环,则满足题意.之后再用并查集合并一个链,一个链代表 一个集合,一个集合有共同的祖先,一个集合答案相同,则输出答案时候只需要输出该元素属于哪一个集合,那个集合有几个元素 就可以了. #include <stdio.h> #include <iostream> using namespace std; ; int fa[N]; in…
题目描述: Bad Luck Island time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output The Bad Luck Island is inhabited by three kinds of species: r rocks, s scissors and p papers. At some moments of time…
题意 题目链接给你一个地图,'#'代表水,'.'代表陆地,'?'代表擦去的地图,可能是'#'也可能是'.'.地图中本该只有一块相连的陆地,若只有一种方案则输出确定的地图.若有多种方案,则输出‘Ambiguous’,若无答案,则输出‘Impossible’. 分析 将所有‘.’进行dfs扫一遍,dfs时遇到的‘?’当作'.',因为被'#'包围的'?'一定代表‘#’.一边记录相连的陆地数量b,一边记录当前相连陆地的总格数s0.如果b==1,就对每个遇到过的'?',将其置为'#‘,再dfs一遍,如果扫…
[题意] 一个岛上有三种生物A,B,C,各有多少只在输入中会告诉你,每种最多100只 A与B碰面,A会吃掉B, B与C碰面,B会吃掉C, C与A碰面,C会吃掉A...忍不住想吐槽这种环形食物链 碰面是随机的.到最后岛上只剩下一种生物,问这种生物分别是A,B,C的概率是多少. [题解] 其实很简单,这题,状态方程很好想.. 设dp[i][j][k]为生物A有i只,生物B有j只,生物C有k只的概率情况,显然dp的返回值应该有三个,分别是最后剩下该种生物的概率 那么我们考虑状态转移的情况. 如果A与B…
题意:一个岛上有石头,剪刀和布,规则就不用说了,问你最后只剩下每一种的概率是多少. 析:很明显的一个概率DP,用d[i][j][k]表示,石头剩下 i 个,剪刀剩下 j 个,布剩下 k 个,d[r][s][p] = 1,那状态转发方程怎么写呢?是这样的 如果石头减少了1,那么肯定是布干的,那么是哪个布干掉了哪个石头呢?这又是另一个问题,答案就是 i * k,那么总数就是 i * k + i * j + j * k. 最后再把各项加起来即可. 代码如下: #include <iostream>…
[链接] 我是链接,点我呀:) [题意] 让你把"#"用至少一个右括号代替 使得整个括号序列合法 [题解] 首先我们不要考虑井号 考虑最简单的括号序列 并且把左括号看成1,右括号看成是-1 然后用a[]表示它的一个前缀和(a[0]=0) 这样 这个括号序列合法的充要条件就是 ①a[i]>=0 (1<=i<=len(s)) ②a[len(s)] = 0 这样我们就把括号问题转换成一个仅仅为不等式和一个等式的问题了 而井号仅仅会增加-1,即让某一段往后的a[i]都变小 那…
[链接] 我是链接,点我呀:) [题意] 每次你可以将一个字符变成一个不同于本身的字符. 每个人需要改变n次(且不能不改变) 设每个人的字符串中出现次数最多的字符出现的次数为cnt[0~2] 问你谁的cnt值最大 如果最大的两个cnt相同 输出draw [题解] 模拟就好 注意这种情况(n=1) 1 aaa aab 第一个人因为必须要改变一个,所以cnt最大为2 第二个人则为3 [代码] import java.io.*; import java.util.*; public class Mai…
题目链接:传送门 思路: 仔细观察可以发现,答案最多就是2,只要把(2,1)和(1,2)堵住就可以了. 答案是0的情况就是初始状态下,(1,1)就已经不可达(n,m)了,很好判断. 所以重点就是区分答案为1和答案为2的情况. 如果答案为1的话,就说明从(1,1)到(n,m)的所有路径都经过同一个点(这样的点至少一个). 实际上,求出(1,1)出发可达的所有点的集合S1,和所有可达(n,m)的点S2.这里用dp来跑可以O(nm).其中坐标要压成一维的(因为n.m的范围没有给出),否则不好开内存.…
题意:会出石头.剪刀.布的人分别有r,s,p个,他们相互碰到的概率相同,输的人死掉,问最终活下去的人是三种类型的概率 设状态dp(i,j,k)为还有i个石头,j个剪刀,k个布时的概率,dp(r,s,p)=1.0 状态转移方程: d(i-1,j,k)+=d(i,j,k)*(i*k)/(i*j+i*k+j*k); d(i,j-1,k)+=d(i,j,k)*(i*j)/(i*j+i*k+j*k); d(i,j,k-1)+=d(i,j,k)*(j*k)/(i*j+i*k+j*k); 因为状态dp(i,j…
传送门 A. Optimal Currency Exchange 枚举一下就行了. Code #include <bits/stdc++.h> using namespace std; typedef long long ll; int n, a, b; int main() { ios::sync_with_stdio(false); cin.tie(0); cin >> n >> a >> b; b *= 5; int ans = n; for(int…
目录 Contest Info Solutions A. Optimal Currency Exchange B. Badges C. Bad Sequence D. Treasure Island Contest Info Practice Link Solved A B C D E F G H 4/8 O O O Ø - - - - O 在比赛中通过 Ø 赛后通过 ! 尝试了但是失败了 - 没有尝试 Solutions A. Optimal Currency Exchange 题意: 有\(…
本文只看粗体即可,太多catch语句.两个例子均来自libconfig包的example文件夹下面,. 例子一: #include <iostream> #include <iomanip> #include <cstdlib> #include <libconfig.h++> using namespace std; using namespace libconfig; // This example reads the configuration fil…
Nine Years for A and B By Christopher Ricks Dr. Johnson was the greatest man who made a dictionary. James A.H. Murray was the man who made the greatest dictionary: From 1879 to 1915, when he died, he devoted his life to the creation of the Oxford Eng…
本季看点:<黑帆>本剧是著名海盗故事<金银岛>(Treasure Island)的前传.Starz宣布<Black Sails>已提前获得第四季续订,第四季10集和前两季一样,这个决定是在第三季播出之前做出的.这使得该剧成为Starz历史上首部突破三季的原创剧集. 黑帆Black Sails第三季的海报 相关下载:<黑帆第一季><黑帆第二季><黑帆第三四季>类型:动作 播出:Starz!地区:美国 主演: 雷·史蒂文森语言:英语 首播…
黑帆 第一季 Black Sails Season 1 (2014)本季看点:剧集将会是英国小说家罗伯特·路易斯·史蒂文森(Robert Louis Stevenson)经典的海盗故事<金银岛>(Treasure Island)的前传.将从小说开始的20年前拍起,讲述了主人公Flint船长(就是那个将财宝藏在金银岛的死去的海盗头子)和他的手下们在海上探险的故事. 网友评论:黑帆 第一季#这部剧虽然号称卖拷贝监制,用来接班斯巴达克斯,但是看起来不和谐程度比起前者差了不只是个档次.这片子剧情拖沓,…
1. C++API 头文件 #include <libconfig.h++> ,命名空间:using namespace libconfig; 2.多线程使用问题: (1)libconfig是完全可重入的,库中函数不使用全局变量和不保持成功调用间的状态.所以两个独立配置文件在两个不同线程间并发操作可以是安全的: (2)libconfig是线程不安全,libconfig不考虑系统线程模型.所以一个配置文件的实例被多个线程获取,必须使用同步机制(例如读写锁或互斥锁)来保护. (3)libconfi…
官网: https://golang.org/ 环境: $GOROOT: GOROOT环境变量指定了Go的安装目录. $GOPATH: GOPATH 环境变量指定workspace的目录. 命令行: go: env: 描述: Env prints Go environment information. 例子: go env get: 描述: Get downloads the packages named by the import paths, along with their depende…
D.What a Mess 给n个数,求其中能满足 a[i] % a[j] == 0 的数对之和 n = 1W,max_ai = 100W 不是很大,所以就直接筛就可以了 计算可得最高复杂度 < 1kW ...考场上写了这个解法,结果把 j += i 写成了 j ++ ... 我还以为是单个测试点case太多...多么痛的领悟... #include <bits/stdc++.h> using namespace std; ], b[]; int main() { scanf("…
平时没事刷刷Leetcode,还办了个年会员.为了自己150刀.为了自己的大脑投资,从不差钱儿.刷刷题能练习coding,此外看一些别人的优秀的答案,能增长见解.大家共同努力,共勉. 十.Google考题(2) Name:Unique Email Addresses Every email consists of a local name and a domain name, separated by the @ sign. For example, in alice@leetcode.com,…