SRM 558 SurroundingGame】的更多相关文章

题意: 给定一个网格,每个网格有选取代价和占据收益.每个点被占据,需要满足以下两个条件至少一个条件:1.被选取  2.邻近方格都被选取(有公共边被称为邻近)  不一定要占据所有方格,求最大收益. 输入说明第一行两个数 n,m(n,m ≤ 20),表示矩形的长和宽.接下来 n 行,每行是 m 个字符组成的字符串,描述投资的花费.接下来 n 行,每行是 m 个字符组成的字符串,表示该格子的收益.花费和收益按照一种奇葩的方式给出:字符数‘0’-’9’0-9‘a’-’z’10-35‘A’-’Z’36-6…
传送门:https://284914869.github.io/AEoj/558.html 题目简述  一个人在一个n * m棋盘上玩游戏,想要占领一个格子有两个方法: 在这个格子放一个棋子.  这个格子周围(四联通)的格子中**都有棋子**. 在(i, j)中放棋子需要花费cost[i][j],占领(i, j)能获得benefit[i][j].求一种放置棋子的方法,使得总收益(收益 - 花费)最大. 2<=n,m<=20 分析 一眼看上去, 状压? 我是不是dp学傻了..根本想不出 网络流?…
今天第一次做topcoder,没有比赛,所以找的最新一期的SRM练习,做了第一道题. 题目大意是说 给一个数字字符串,任意交换两位,使数字变为最小,不能有前导0. 看到题目以后,先想到的找规律,发现要从后向前找数字串中最小的数,放在数字串中尽可能靠前的位置,数字最小.用这个贪心.找规律的方法,写代码,然后提交测试. 但最后,写出的代码不能过几组数据,感觉边界的数据非常容易考虑不周而出错,比如第一个数字是否为最小,数字串中是否有零等. 看了其他人的代码(http://www.cnblogs.com…
SRM 513 2 1000CutTheNumbers Problem Statement Manao has a board filled with digits represented as String[] board. The j-th character of the i-th element of board represents the digit written in cell in row i, column j of the board. The rows are numbe…
SRM 510 2 250TheAlmostLuckyNumbersDivTwo Problem Statement John and Brus believe that the digits 4 and 7 are lucky and all others are not. According to them, an almost lucky number is a number that contains at most one non-lucky digit in its decimal…
1.UVA 558 Wormholes 2.总结:第一个spfa,好气的是用next[]数组判定Compilation error,改成nexte[]就过了..难道next还是特殊词吗 题意:科学家,虫洞.就是判定负环 #include<iostream> #include<cstring> #include<cmath> #include<queue> #include<algorithm> #include<cstdio> #de…
-------一直想打SRM,但是感觉Topcoder用起来太麻烦了.题目还是英文,不过没什么事干还是来打一打好了.但是刚注册的号只能打DIV2,反正我这么弱也只适合DIV2了.. T1: 题目大意: 给出8*8的棋盘判断是不是每行每列都有且只有1个棋子. 题解:不知怎么写题解.. T2: 题目大意: 有E个E,EM个EM,M个M,MH个MH,H个H.  都小于等于100000. 然后1个EM可以变成1个E或者M,1个MH可以变成1个M或者H. 求max{min{E,M,H}}. 题解: 我是直…
题目链接:558 - Wormholes 题目大意:给出n和m,表示有n个点,然后给出m条边,然后判断给出的有向图中是否存在负环. 解题思路:利用Bellman Ford算法,若进行第n次松弛时,还能更新点的权值,则说明有负环的存在. #include <stdio.h> #include <string.h> #define min(a,b) (a)<(b)?(a):(b) const int N = 10005; const int INF = 0x3f3f3f3f; i…
SRM 501 DIV1 500pt SRM 502 DIV1 500pt SRM 508 DIV1 500pt SRM 509 DIV1 500pt SRM 511 DIV1 500pt SRM 514 DIV1 600pt…
TC srm.673 300 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 Description 给你n(n<=50)匹马和n个人,一匹马和一个人能够组成一个骑兵,这个骑兵的战斗力等于马的战斗力乘以人的战斗力,问你有多少种组合方式满足其他骑兵的战斗力都不超过第0号骑兵. Input Output Sample Input Sample Output HINT 题意 题解: 大概就暴力枚举哪匹马和第0号人匹配,后面的骑兵我们按照战斗力从大到小排序之后,…
第一次topcoder,以前老感觉没有资格去做tc,cf什么的,现在已经慢慢接触了. 感觉还可以,还是有让我们这些蒻菜安慰的水题. tc的确很好玩,用客户端比赛,还有各种规则,而且还是只编写一个类提交上去,最后还能cha别人(虽然我还没cha过),具体规则看大神写的这篇文章. 好吧,我的第一次TC的SRM就只刷出了第一道250P的水题,题目字体太小了,看题目看了老半天,然后编写完调试出来,还花了挺长时间去把程序改成类,在客户端上compile,蛋疼的是类的后面的分号忘记写找了好长时间.....…
题意:给定一个从小到大的货币面值,每一个面额都是其前面面额的倍数(倍数大于等于2),每一种货币面值对应一种颜色,目前不清楚面值与颜色的对应关系.要求用最少的查询次数来确定面额与颜色的对应关系.(一次查询是要求给出面额总数某一个值的货币即可,假设给出的货币数目总是最少的,而且是可行的) 官方题解:http://apps.topcoder.com/wiki/display/tc/SRM+616 keypoint: 1 答案与具体的钱的大小无关,至于相邻钱之间的倍数有关系,假设有n个倍数关系. 2 假…
SRM 144 DIV 1 500pt tag:组合 题意:彩票中奖.给定n, m,从1-n中选择m个数组成数列a1, a2, a3...am.对于数列{am}分别满足以下条件的概率: (1)数列所有元素不相同且非严格递增: (2)数列元素可以相同,可以递减: (3)数列元素不相同,可以递减: (4)数列元素可以相同,且非严格递增. 解法:所有四种情况均可以用排列组合公式直接解决,要用大数.最难的是最后一种情况,我也是最后一种情况公式写错了. 并且,最后一种情况公式的推导过程也可以看一看官方题解…
嗯....还是应该坚持写题解的好习惯啊... DIV1 250pt 这难度是回到srm 300+的250了嘛...略 // BEGIN CUT HERE /* * Author: plum rain * score : */ /* */ // END CUT HERE #line 11 "MagicalStringDiv1.cpp" #include <sstream> #include <stdexcept> #include <functional&g…
DIV1 250pt 题意:将一个数表示成质因子相乘的形式,若乘式所含数字的个数为质数,则称A为underprime.比如12 = 2*2*3,则含3个数字,是underprime.求A, B之间underprime的个数.A, B <= 10^5. 解法:暴力枚举A,B之间所有数,求出其乘式所含数字的个数, 判断是不是质数. tag:brute-force // BEGIN CUT HERE /* */ // END CUT HERE #line 7 "Underprimes.cpp&q…
DIV2 1000pt 题意:给定整数n和r,求有多少个这样的数列,a1,a2...an,使得a1 + a2 +...+an = a1|a2|a3|...|an,(按位或).输出这样数列的个数mod 1000000009. n <= 10,r <= 15000. 解法:先按位分析这道题,若将a1,a2..an转化成二进制形式并对齐如下,则可将题目转化为求每一列最多含有一个1,每一行所对应的数小等于r的矩阵有多少个. 这样的话,下意识地想到用状态压缩的DP来做,但是这样做的时间复杂度为O(10×…
A 裸最短路. class TravelOnMars { public: int minTimes(vector <int>, int, int); }; vector<int> e[maxn]; int n; int dist(int a,int b) { if (a>b) swap(a,b); int res = min( b-a , a+n-b); return res; } int d[maxn],inq[maxn]; queue<int> q; int…
作者:范军 (Frank Fan) 新浪微博:@frankfan7 从本文开始,我们将介绍一系列的关于容灾的解决方案.先探讨应用的场景,然后再深入介绍技术架构. 情景一: 某小型公司的虚拟化环境中,在5台ESXi服务器上运行100台虚拟机.采用NFS存储.其中需要异地恢复的虚拟机10台.对于异地容灾RPO的要求是30分钟,RTO是1小时.已经使用vSphereStandard 许可.软件购买成本有限. 建议: 采用vSphere Replication (VR) VR对于已经使用vSphere …
题目来源:http://community.topcoder.com/stat?c=problem_statement&pm=6038 因为TopCoder SRM比赛使用的编译器进行了升级,所以进行了一次Test SRM,这次比赛不计rating. 题目是从SRM 200 -400间随机选择的. 这道题目就是解一个二元一次方程. 代码如下: #include <iostream> using namespace std; class TemperatureScales { publi…
称号:c=problem_statement&pm=13283&rd=16009">http://community.topcoder.com/stat?c=problem_statement&pm=13283&rd=16009 參考:http://apps.topcoder.com/wiki/display/tc/SRM+628 開始不知道怎么求期望.普通方法 p1*c1 + p2 *c2 + ... 行不通,看了Editoral才发现原来能够用dp的方法…
称号:http://community.topcoder.com/stat? c=problem_statement&pm=13143&rd=15853 參考:http://apps.topcoder.com/wiki/display/tc/SRM+620 又是一道关于概率的题目,考虑dp方法.关键是找准突破口,将题目条件的"至少有一个大于4的连通图"转换为"全部连通图都小于等于3". 代码: #include <algorithm> #…
题目链接:http://codeforces.com/problemset/problem/558/C 题意:把n个数变成相同所需要走的最小的步数易得到结论,两个奇数不同,一直×2不可能有重叠枚举每个数可能到得所有值,以及统计达到该值的时候已经走的步数最终答案就是1到up中num[i]最小的数 Examples input output 2 input output 5 Note In the first sample test, the optimal solution . In the se…
昨天下午查看邮箱,看到了topcoder的SRM比赛通知和cf的比赛通知,当时什么也不想做,心里空荡荡的,忽然就想参加一下,试试看.吃完晚饭回来一看,就剩十几分钟了,匆忙把平台下了,就开始等待比赛开始了.话说这是第一次在topcoder比赛,以前一直都不想的,认为自己水平不够,参加比赛也是找虐,想把水平提高一下再比赛,可是...直到现在还是菜鸟一只...汗颜... 以前也在tc上练习过了,貌似做了一道题...不过后来重装系统了,所有插件.配置都没了,等到比赛开始,我就有点傻了,写类写方法...?…
提交地址:http://cojs.tk/cogs/problem/problem.php?pid=558 558. 奇怪的函数 ★☆   输入文件:xx.in   输出文件:xx.out   简单对比时间限制:1 s   内存限制:32 MB 问题描述     使得x^x达到或超过n位数字的最小正整数x是多少?   输入数据     输入一个正整数n.   输出数据     输出使得x^x达到n位数字的最小正整数x.   输入样例 11   输出样例 10   时间限制     各测试点1秒  …
据说做TC题有助于提高知识水平? :) 传送门:https://284914869.github.io/AEoj/index.html 转载请注明链接:http://www.cnblogs.com/Blog-of-Eden/p/8407296.html Topcoder SRM 562 Div 1 - Problem 1000 InducedSubgraphs 当K*2<=N的时候,显而易见的是编号为i(K<=i<=N-K+1)的点一定会形成一条链. 枚举合法的这样的链,剩下的暴力dp吧…
传送门:https://284914869.github.io/AEoj/560.html 题目简述: 定义"项"为两个不同变量相乘. 求一个由多个不同"项"相加,含有n个不同变量的式子的最大值. 另外限制了每一个变量的最大最小值R[i]和L[i]和所有变量之和的最大值Max. n<=13 题外话: 刚开始做这道题的时候,感觉意外眼熟? codeforces 839 E(此题的退化版):http://codeforces.com/contest/839/pro…
这道题放了很久还是回来补了 D 天才麻将少女KPM SRM 07 背景&&描述 天才麻将少女KPM立志要在日麻界闯出一番名堂.     KPM上周叒打了n场麻将,但她这次又没控分,而且因为是全市参与的麻将大赛,所以她的名次范围是0..10^5.     名次可能等于0是因为KPM那场没去打= =     没去打就意味着无限的可能性.     KPM叒想要让自己的名次严格递增.为了避免被妹子怀疑,她只能把没打的比赛的名次改成T..R中的整数     当然,n场全部严格递增是很难做到的.你只需…
Topcoder SRM 643 Div1 250 Problem 给一个整数N,再给一个vector<long long>v; N可以表示成若干个素数的乘积,N=p0*p1*p2*......*pn,我们假设p0,p1,...,pn是单调不降的,那么v里存储的是下标为偶数 的N的质因数p0,p2,p4,...,p(2k).现在要求写一个程序,返回一个vector<long long>ans; ans里存储的是p0,p1,p2,...,pn. Limits Time Limit(m…
SRM 653 CountryGroupHard 题意: n 个人坐成一排,同一个国家的人坐在一起,记者问了一些人他们的国家有多少人,他们都回答了正确的信息.已知m条信息,每条信息形如第 pi 个位置上的人的国家有 ai 个人,求已知了这些信息能否推断出所有人所属国家的情况. 分析: f[i]表示到第i个位置,方案数是多少.然后枚举后面的多少人属于一个国家的.当f[i]>2的时候,设为2就行.初始化f[n]=1. 代码: /* * @Author: mjt * @Date: 2018-10-17…
Topcoder Srm 726 Div1 Hard 解题思路: 问题可以看做一个二分图,左边一个点向右边一段区间连边,匹配了左边一个点就能获得对应的权值,最大化所得到的权值的和. 然后可以证明一个结论,将点按照权值大小排序后,从大到小加点的充要条件是完美匹配大小 \(+1\) .考虑如果不是按照这种方式加点的,必然能找到一个没有被匹配的点替换掉一个在匹配中但是权值比它小的点,答案一定会变大. 于是我们可以从大到小枚举点,如果能加进去且完美匹配大小增加就加入这个点,否则就不加. solutoin…