TC SRM 665 DIV2 B LuckyCycle 暴力】的更多相关文章

LuckyCycleTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=87326#problem/B Description This problem is about trees. A tree consists of some special points (called nodes), and some lines (called edges)…
LuckyXorTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 TC Description A lucky number is a positive integer consisting of only the digits 4 and 7.Given an int a, return an int b strictly greater than a, such that a XOR b is a lucky number. (See Notes fo…
ChessFloor Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 TC Description Samantha is renovating a square room. The floor of the room is an N times N grid of unit square tiles. Each tile has some color. You are given the current colors of all tiles in a…
 BearCheats Problem Statement    Limak is an old brown bear. Because of his bad eyesight he sometimes has to visit his doctor, Dr. Carrot. Today is one such day. Dr. Carrot has a blackboard in his office. There is a number A written on the blackboard…
AABB Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 TC Description One day, Jamie noticed that many English words only use the letters A and B. Examples of such words include "AB" (short for abdominal), "BAA" (the noise a sheep makes), &…
求拼接完成后的字符串包含的子回文串的数目,一开始还用暴力去做,想都不用想 肯定超时了. 复习了一下求最长子回文串的算法,发现可以类似解决. 给相邻字符之间添加一个'@'字符,这样所有的回文串都是奇数长度,然后从左到右,统计以每个字符为中心的回文串的数目就行了,长度逐渐递增,一旦遇到不是回文串的情况,就马上结束,开始对下一个字符为中心的回文串的统计. Orz-这个回文串算法不久前学过,最近搞前面基础去了就忘得差不多了,还是太弱了,继续好好努力,先打好基础,同时学点新东西,我就不相信,acm这东西花…
很棒的DP,不过没想出,看题解了..思维很重要. #include <iostream> #include <cstdio> #include <cstring> #include <vector> #include <cmath> #include <algorithm> using namespace std; ]; ]; class MayTheBestPetWin { public : int calc(vector <…
很不错的一题,非常巧妙的用DP顺序解决这个问题... 可以发现,只和A里面最小的有关系... #include <cstdio> #include <cstring> #include <queue> #include <string> #include <vector> #include <algorithm> using namespace std; #define LL long long *+]; vector<int&…
100的数据直接暴力就行,想多了... ac的代码: #include <iostream> #include <cstdio> #include <cstring> #include <cstdlib> #include <cmath> #include <algorithm> #include <vector> #define LL __int64 +; using namespace std; int a[maxn]…
BearPlaysDiv2 Problem Statement    Limak is a little bear who loves to play. Today he is playing by moving some stones between three piles of stones. Initially, the piles contain A, B, and C stones, respectively. Limak's goal is to produce three equa…
250pt: 水题set处理. 500pt: 题意: 给你一个图,每条边关联的两点为朋友,题目要求假设x的金钱为y,则他的左右的朋友当中的钱数z,取值为y - d <= z <= y + d.求使得任意两点的最大金钱差值,若果是inf输出-1. 思路:求任意两点的最短的的最大值即可,比赛时不知道哪地方写搓了,直接被系统样例给虐了,老师这么悲剧500有思路能写,老师不仔细哎.. floyd求任意两点的最短距离好写一些. #include <iostream> #include <…
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号人匹配,后面的骑兵我们按照战斗力从大到小排序之后,…
-------一直想打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}}. 题解: 我是直…
昨天下午查看邮箱,看到了topcoder的SRM比赛通知和cf的比赛通知,当时什么也不想做,心里空荡荡的,忽然就想参加一下,试试看.吃完晚饭回来一看,就剩十几分钟了,匆忙把平台下了,就开始等待比赛开始了.话说这是第一次在topcoder比赛,以前一直都不想的,认为自己水平不够,参加比赛也是找虐,想把水平提高一下再比赛,可是...直到现在还是菜鸟一只...汗颜... 以前也在tc上练习过了,貌似做了一道题...不过后来重装系统了,所有插件.配置都没了,等到比赛开始,我就有点傻了,写类写方法...?…
\(>Topcoder \space Srm \space 673 \space Div2 \space 1000 \space BearPermutations2<\) 题目大意 : 对于一个长度为 \(n\) 的排列,定义其的贡献为对其建笛卡尔树,树上有两个儿子的节点其左右儿子在原排列中的距离之和,给出 \(n, Mod\),求所有长度为 \(n\) 的排列的贡献之和对 \(Mod\) 取模的值 \(1 \leq n \leq 100\) 解题思路 : 考虑一个最暴力的 \(dp\) ,设…
今天第一次做topcoder,没有比赛,所以找的最新一期的SRM练习,做了第一道题. 题目大意是说 给一个数字字符串,任意交换两位,使数字变为最小,不能有前导0. 看到题目以后,先想到的找规律,发现要从后向前找数字串中最小的数,放在数字串中尽可能靠前的位置,数字最小.用这个贪心.找规律的方法,写代码,然后提交测试. 但最后,写出的代码不能过几组数据,感觉边界的数据非常容易考虑不周而出错,比如第一个数字是否为最小,数字串中是否有零等. 看了其他人的代码(http://www.cnblogs.com…
2333... 因为TC过少的参与者.加上不断fst 我掉了div2该. 幸运的是完成的背div1该.. 250 水的问题 500 水的问题.. 直接bfs扩展即可了 注意判重.  我还用康托展开了真是多此一举.. 1000 这题理解错题意了.. 我说看别人代码怎么看着不正确劲来着 只是还是很easy的一道题 二进制枚举烧哪些叶子结点 然后对每种烧法 求最短路 求完最短路,枚举边 如果边的两个结点是u,v权值为w 就求最大的(dis[u]+dis[v]+w )/2就是烧完的时间 为啥这样呢 如果…
\(>Topcoder \space Srm \space 671 \space Div2 \space 1000 \space BearDestroysDiv2<\) 题目大意 : 有一个 \(W \times H\) 的网格,每一格上有一棵树和一个随机字母 \(S\) 或 \(E\) ,有一只熊在左上角,按从上到下从左到右的顺序遍历每一行每一列,如果其遇到一棵可以推倒的树,就尽可能按照字母表示的方向 (向下,向右) 推倒它,然后其推倒方向的下一棵树就不能被推倒了,同时树不能被推倒在边界之外…
A题,熊孩子测视力,水题,题意就是判断一下两个数对应位不相同的数字有多少个. #include<bits/stdc++.h> using namespace std; class BearCheats{ public: string eyesight(int A, int B){ ],digB[]; ; while(A){ digA[t++] = A%; A/=; } ; i < t; i++){ digB[i] = B%; B/=; } ; ; i < t; i++){ if(d…
第一次玩TC的SRM,只完成了一题,有点失落,不过还是要把每个问题都研究清楚才是我的本性,呵呵 第一题思路: 任意一个数,不断除掉2以后的剩下的数若相同则YES否则NO 第二题: 最开始判断字母个数是否相同, 然后从反向考虑: B: DACBA A: DCABA 变成B的第一位可以任意插在中间位置 ,最终变成A 这样的话只要将B从右向左在A中找出匹配,则B剩下的左侧字母就可以任意插进去得到A 第三题: 思考中…
250  想想就发现规律了. 500  暴力,括号匹配. 1000 给一个f数组,如果i存在,那么f[i]也得存在,问这样的集合有多少种. 先拓扑一下,dp[i] = mul(dp[son]+1)最后环里面的元素的乘积是结果. #include <iostream> #include <cstdio> #include <string> #include <algorithm> #include <stdlib.h> #include <v…
数位DP的感觉,但是跟模版不是一个套路的,看的题解,代码好理解,但是确实难想. #include <cstdio> #include <cstring> #include <iostream> using namespace std; #define LL long long LL dp[][][][]; ],b[],c[]; void fun(int *p,int x) { int i; ; i <= ; i ++) { <<i)) p[i] = ;…
我只能说的亏没做,要不就挂0了.. 本来想四色定理,肯定4就可以的...然后准备爆,发现3的时候不好爆,又想了老一会,嗯,数据范围不小,应该不是暴力,直接找规律,貌似最大就是3,有一个3连块,输出3,其他输出2什么的.交,发现有环的时候,特殊的也是3...没办法还得暴力啊.暴力2的情况,写的也是各种错误...终于过了. #include <iostream> #include <cstdio> #include <cstring> #include <vector…
第一次在DIV2 AK了. 250水题. 500,FLoyd搞出所有边的最短路,然后找最短路,中最长的,如果有不连通的边返回-1 1000,组合DP,各种慌乱,在最后1分钟时,交上了,感觉很棒,最后还A了.. dp[i][j]表示前i个堆里选j个人,每一个堆都有o[i]个人,枚举堆里,可以选多少个人. 第二题,写了将近半个小时...没太想好,到底是求最长路还是求最短路,边调边想,浪费些时间. 第三题,发现最近做组合问题,不是那么搓了... rating涨了131,进div1!! 1000的关键代…
脑洞太大,简单东西就是想复杂,活该一直DIV2; A:水,基本判断A[I]<=A[I-1],ANS++; B:不知道别人怎么做的,我的是100*N*N;没办法想的太多了,忘记是连续的数列 我们枚举公差,找到能有多少就可以了. C:想到MAP,但是前面太脑掺,只有几分钟写.. 不过还真不一定写的出来.. 进来DP感觉良好.. 我们可以发现其实这些的乘积其实比较少.. 然后就像普通数组进行加法一样. #include <cstdlib> #include <cctype> #in…
Div2  AlienAndSetDiv2   1000 pts 题意:1~2N的数分成2个数组A,B,并且数组中按增序排列,同时满足|A[i] - B[i]| <= K,问有多少种方法? 分析:从大到小依次决定每个数的放置位置,每次可以放在A或B中剩余的较高位置,当决定第i个数时,i+K+1,应该是已经匹配了, 那么只剩下i+1~i+K最多K个数处于未匹配的位置,用一个整数st表示,那么对于第i个数的转移情况,可以放置在某个数组中, 使他处于未匹配状况或者让他匹配. dp[i][st]表示i个…
第一次做tc 的比赛,一点也不懂,虽然题目做出来了, 但是,也没有在比赛的时候提交成功.. 还有,感谢一宁对tc使用的讲解.. 贴一下代码..... #include <cstring> #include <vector> #include <cstdio> #include <iostream> using namespace std; class DivideByZero { public: int CountNumbers(vector<int&…
A Cdgame brute force... B Drbalance 贪心,每次选最前面的-变成+,相当于后面所有的负值+2. C Treestrat 考虑集中去抓一个Red Token,以这个Token为根把树提起来,以B的Token为的根的子树是走不到,(树形很重要) 而且走不到的结点只会越来越多.求出B中结点到达树上任意点v的最短距离D[v],当且仅当Red Token到点v的距离小于D[v]时候 ,才可以向v走.选出能走到的最大的D[v]作为抓这个Red Token时的答案.所有Red…
Rating又跌了,第二个题,没想好就乱开始乱写了.. 我写乱搞贪心,没过...如果总人数很多judge函数写的不好,DIV2数据很水,直接暴力就行. #include <cstring> #include <cstdio> #include <string> #include <iostream> #include <algorithm> #include <vector> using namespace std; vector&l…
Problem Statement You are given a vector t that describes a rectangular table of zeroes and ones. Each character in t is either '0' or '1'. We say that a table is nice if there are two sequences x, y of zeroes and ones such that for each valid pair o…