E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
SRM采购管理
SRM
528 DIV1 500
一个关于字符串计数的问题。题意的描述很简洁,思路方向也很容易想——首先数据范围限定字符串长度最大为40,要把原串分为两个相等的子串,显然每个子串的长度最大为20,而且每个字符不是x就是o。。。所以很容易想到:求出x和o的个数,枚举所有可能的子串;或者可以直接用位运算,从0——2^20-1枚举一遍。然后计数方面看结构的话应该是dp。。。。但比赛的时候在dp上面悲剧了,我一直在想如何从前向后dp,边界
·
2015-11-11 17:24
div
TopCoder
SRM
633 Div.2 500 Jumping
题意:给一个点(x,y),给一些步长delta1,delta2...deltaN,问从(0,0)严格按照步长走完N步后能否正好到达(x,y)点。 解法:其实就是判断这些线段和(0,0)-(x,y)这条线段能否构成一个多边(角?)形的问题,只需判断最长的边是否不大于于所有边长和的一半即可。 代码: #include <iostream> #include <cstd
·
2015-11-11 16:39
topcoder
Topcoder
SRM
618 Div2 --900
题意:给定两个NxN的棋盘,每个棋盘都有一个‘车’的摆放状态,问进行若干次交换,能否使棋盘1变为棋盘2. 交换规则:每次选两个‘车’,坐标分别为(r1,c1),(r2,c2),如果r1<r2并且c1>c2,则可以将两个点分别移到(r1,c2),(r2,c1)。 做法:BFS,从状态Y1广搜,每次选两行r1,r2(r1<r2),如果满足r1行的‘车’的列c1<c2(r2行
·
2015-11-11 16:27
topcoder
SRM
657 DIV2
-------一直想打
SRM
,但是感觉Topcoder用起来太麻烦了.题目还是英文,不过没什么事干还是来打一打好了。但是刚注册的号只能打DIV2,反正我这么弱也只适合DIV2了..
·
2015-11-11 16:53
div
poj 2411 新写法
今天做了场
srm
,500pt想到了是dp但是无从下手,但是看了rng_58的神代码后顿觉海阔天空啊(盯着看了一个下午),相比于一年前的写法,真的是不忍直视啊, TC真是个好地方。。。赞!
·
2015-11-11 16:35
poj
TopCoder
SRM
144 DIV1(one)
1 import java.util.Scanner; 2 3 public class BinaryCode { 4 5 public String[] decode(String message){ 6 String[] original = new String[2]; 7 StringBuffer s1=new
·
2015-11-11 15:56
topcoder
TC
SRM
582 DIV 2
Rating又跌了,第二个题,没想好就乱开始乱写了。。 我写乱搞贪心,没过。。。如果总人数很多judge函数写的不好,DIV2数据很水,直接暴力就行。 1 #include <cstring> 2 #include <cstdio> 3 #include <string> 4 #include <iostream> 5 #in
·
2015-11-11 15:08
div
SRM
599 DIV1
A 首先发现对于2操作,每种素因子可以单独考虑,然后取出步数最多的计入答案,然后分别加上对每种素因子的1操作; 第二步我犯了个错误,以为最优方案是把素因子指数按二进制操作,在1的位置执行1操作,0的位置执行2操作倍增; 然后发现是错的,执行一次1操作后,之后的2操作可以完全代替1操作,这样可以节省对其他素因子的1操作... 1 int getbit(int x
·
2015-11-11 13:03
div
SRM
598 DIV1
A 只有3种情况:200以上的单独装,3个100的装一起,某两个u,v装一起且u+v<=300, 所以做法是从大到小判断每个大小的最大能与它装一起的是谁,最后剩下100的特判. B 第一轮如果未分出胜负,考虑一种情况: mov1 >= mov2, 先手至少不会输. 再判断赢的条件, 设d=mov1-mov2, 先手每一轮结束后可以保证每次距离缩短[1,d
·
2015-11-11 13:02
div
SRM
597DIV1
250: 首先先特判答案不存在的情况. 再设答案为k,则B[k+1,n]是A的一个子序列,所以, 做法1,枚举k检查子序列是否成立; 做法2,反过来想,从后往前看,最长的一个子序列对应了最小答案. 600: 问题可转化为,找一个凸多边形中是否存在三角形,且三角形与多边形不共顶点. 1暴力: 找出所有凸包中的点再找一个三角形, 找凸包中的所有点:枚举
·
2015-11-11 13:57
div
破解 topcoder challenge 不能拷贝代码限制(FOR WINDOWS)
默认情况下,TOPCODER的
SRM
和TCO等比赛在查看别人代码的时候(challeng-ing phrase 或练习时候看别人代码)是不允许拷贝代码的。
·
2015-11-11 13:53
topcoder
【TopCoder
SRM
551 Div2】Solutions
【250】 Beaver Bindu has some colored bricks. Each color is described by an uppercase letter. Bricks of each color all look exactly the same. You are given a string bricks. Each character of bricks r
·
2015-11-11 12:19
topcoder
TopCoder Training——How To Find a Solution
BusinessTasks -
SRM
236 Div 1: View Code #include <iostream>#include <cstdio>#
·
2015-11-11 12:34
topcoder
SRM
537 DIV2
前几天抽空做了下
SRM
537的DIV2(没办法,完全靠自己搞不掉DIV1的3个题,特别是1000。。一般只有仰慕的份。。还是要多练,多思考),一直没抽出时间写解题报告,今天写一下吧。
·
2015-11-11 12:32
div
SRM
599 DIV 2
rating又掉了。。。变灰色了%>_<%。250pt很简单,一眼看上去是个背包,没有多想立马写了个01背包,后面发现其实就是个简单的排序。。。因为只是需要求数量而已。500pt被我写残了,fst了,有一组极限数据超时了,我脑残的用了O(n)时间复杂度的质因数分解 10^9必定超时啊。。。。还是没想清楚就写了,真的得记住:想得多写得少,并且正确率也会提高很多。950pt思路是有了,没有
·
2015-11-11 12:43
div
SRM
596 DIV 2
前段时间终于配置好了TopCoder的环境,所以就拿这场的DIV2练习了一下 1. 250pt FoxAndSightseeing 题意 给你n个城市的位置,他们在同一直线上,要求你跳过其中某一个城市,按顺序依次访问其他的城市,求距离的最小值 题解 由于数据规模为n<=50,所以直接枚举就好 代码: class FoxAndSightseeing { pub
·
2015-11-11 12:38
div
TopCoder
SRM
642 Div.2 1000 --二分+BFS
题意: 给你一张图,N个点(0~N-1),m条边,国王要从0到N-1,国王携带一个值,当走到一条边权大于此值的边时,要么不走,要么提升该边的边权,提升k个单位花费k^2块钱,国王就带了B块钱,问能携带的最大值是多少。 解法: 二分此值,然后BFS跑遍每个点,记录到达每个点的最小花费Mincost,如果Mincost[N-1] <= B,则此值可行,往上再二分,否则往下二分。
·
2015-11-11 11:14
topcoder
TopCoder
SRM
639 Div.2 500 AliceGameEasy --乱搞
题意: 一个游戏有n轮,有A和B比赛,谁在第 i 轮得胜,就获得 i 分,给出x,y,问A得x分,B得y分有没有可能,如果有,输出A最少赢的盘数。 解法: 这题是我傻逼了,处理上各种不优越,要使n*(n+1)/2 >= 10^12, n为10^6是不够的,要开大一点,总是细节地方不注意。 做法很简单,先用map或者其他什么东西判断x+y是否为某个n*(n+1)/2, 如果不是,那肯定为-
·
2015-11-11 11:02
topcoder
转:给自己TopCoder
SRM
的建议
强哥写的。 原文链接 1. 是否需要 long long 2. 是否有 除0 的可能 3. 是否需要cmp特判精度 4. 是否必须使用double,能转化成整数运算么?怎么转换 5. 关键部分无序的问题->贪心?sort是否管用?满足怎样的顺序可以找到解(最优解)?满足某一顺序是否可以dp?graph问题?netflow? 6. 关键部分变量的取值区间是多少,可以枚举么? 7
·
2015-11-11 10:28
topcoder
TC
SRM
584 DIV 2
第一次在DIV2 AK了。 250水题。 500,FLoyd搞出所有边的最短路,然后找最短路,中最长的,如果有不连通的边返回-1 1000,组合DP,各种慌乱,在最后1分钟时,交上了,感觉很棒,最后还A了。。 dp[i][j]表示前i个堆里选j个人,每一个堆都有o[i]个人,枚举堆里,可以选多少个人。 第二题,写了将近半个小时。。。没太想好,到底是求最长路还是求最短路,边调边想,浪费些时
·
2015-11-11 10:10
div
TC
SRM
583 DIV 2
做了俩,rating涨了80。第二个题是关于身份证的模拟题,写的时间比较长,但是我认真检查了。。。 第三个题是最短路,今天写了写,写的很繁琐,写的很多错。 1 #include <cstring> 2 #include <cstdio> 3 #include <string> 4 #include <iostre
·
2015-11-11 10:01
div
[topcoder]ActivateGame
c=problem_statement&pm=10750&rd=14153 http://apps.topcoder.com/wiki/display/tc/
SRM
+470 因为是棋盘型
·
2015-11-11 09:52
topcoder
[topcoder]NinePuzzle
c=problem_statement&pm=11225&rd=14427 http://apps.topcoder.com/wiki/display/tc/
SRM
+498 此题的暴力解法是一个
·
2015-11-11 09:51
topcoder
[topcoder]BestRoads
module=Static&d1=match_editorials&d2=
srm
424 这道题目是和最小生成树有关。记得最小生成树的一个算法(容易实现的
·
2015-11-11 09:51
topcoder
[topcoder]IncreasingSubsequences
module=Static&d1=match_editorials&d2=
srm
348 这道题看着就是DP,但怎么DP呢? 一开始按照测试例子{1,3,
·
2015-11-11 09:50
sequence
[topcoder]CorrectMultiplicationTwo
c=problem_statement&pm=11609&rd=14547 http://apps.topcoder.com/wiki/display/tc/
SRM
+522 这道题学到的
·
2015-11-11 09:48
topcoder
[topcoder]BinaryCards
c=problem_statement&pm=11552&rd=14544 http://apps.topcoder.com/wiki/display/tc/
SRM
+519 这道题目
·
2015-11-11 09:48
topcoder
SRM
586 DIV1
A 考虑都是格点 , 枚举所有y+-0.5就行了. trick是避免正好在y上的点重复统计. 1 class PiecewiseLinearFunction { 2 public: 3 int maximumSolutions(vector <int>); 4 }; 5 int n; 6 int cross(vector<int
·
2015-11-11 08:25
div
SRM
587 DIV1
550 结论:同一层的交点共线。 很容易猜到,也可以跑几组数据验证。 利用结论就可以按层算,再利用对称性简化计算。 1 using namespace std; 2 #define maxn 70100 3 class TriangleXor { 4 public: 5 int theArea(int); 6 }; 7 double l[maxn]
·
2015-11-11 08:25
div
SRM
585 DIV1
A 树形dp是看起来比较靠谱的做法 , 但是转移的时候不全面就会出错 , 从贪心的角度出发 , 首先让第一量车走最长路, 然后就会发现递归结构 , 得到递归式 f[i] = ( f[i-2] + f[i-3] + .. + f[1]) * 2 + 1; 贪心的正确性 , 可以根据dp方程证出来 , 不过还是蛮显然的... 1 #define maxn 1000
·
2015-11-11 08:24
div
SRM
583 DIV1
A 裸最短路. 1 class TravelOnMars { 2 public: 3 int minTimes(vector <int>, int, int); 4 }; 5 vector<int> e[maxn]; 6 int n; 7 8 int dist(int a,int b) { 9 if
·
2015-11-11 08:23
div
SRM
601 DIV1
A 枚举x , 然后对于确定的x , 最后总的apple数对应了唯一的orange数,因此问题转化为求apple的取值范围; apple的取值范围: max为每个bag取最多的apple , min为每个bag取最小的apple , 容易证明[min,max]是连续的. 1 using namespace std; 2 3 class WinterAndP
·
2015-11-11 08:22
div
SRM
600 DIV1
A 按位讨论,取最小值; B 数据范围不大,首先要确定枚举角度; 状压枚举palindromes的列比较科学; 列确定后,目标就是求获得rcnt行的最小代价: dp[i][cnt]表示扫描到第i行,已经有cnt个满足要求的最小代价; 根据对称性,只要扫描n/2行,而从第i行获得j个增益的代价cost[i][j],可以另外处理: 当考虑cost[i][j]时,根据对
·
2015-11-11 08:21
div
SRM
514 DIV1 500pt(DP)
题目简述 给定一个H×W大小的矩阵,每个格子要么是1~9中的一个数,要么是".",要求你把“.”填成具体的数字(1~9),并且符合以下两个要求: 对于所有的整数r 和 c( 0 <= r <= H-n,0 <= c < W), 使得 F[r][c] + F[r+1][c] + ... + F[r+n-1][c] 是奇数.
·
2015-11-11 06:32
div
SRM
511 DIV1 500pt(DP)
题目简述 给定n个数,两个人轮流取数,和之前两个人的取的数或起来,谁不能取数或者谁取到的数和之前的数或值为511谁输,问谁能够赢? 题解 刚开始的想法是直接搜,不过需要记录取过的值的状态,2^50显然超时。。。对于当前或值cur,或上一个数num,只有两种情况,要么是 cur|num==cur, 对于这种数,只是把这个状态直接给下一个玩家,起到延缓一步的作用,他们的选取顺序对局面没有影响,
·
2015-11-11 06:31
div
SRM
509 DIV1 500pt(DP)
题目简述 给定一个字符串,可以对其进行修改,删除,增加操作,相应的操作有对应的花费,要求你用最小的花费把字符串变为回文串 题目做法 先搞一遍floyed把各种操作的最小花费求出来,然后就是类似编辑距离的DP了,这题坑了好久。。。中间结果会爆int,我设置的inf=0x3f3f3f3f,中间结果有inf+inf+inf..刚开始dp数组是int型的。。。这里搞了好几才发现这问题。。。西安现场赛
·
2015-11-11 06:30
div
SRM
508 DIV1 500pt(DP)
题目简述 给定一个大小为 n的序列(n<=10)R,要求你计算序列A0, A1, ..., AN-1的数量,要求A序列满足A0 + A1 + ... + AN-1 = A0 | A1 | ... | AN-1(0<=Ai<=R[i]) 题解 把n个数看成二进制,如果要求n个数的和等于n个数的或值,那么对于n个数的每一位,最多
·
2015-11-11 06:30
div
SRM
502 DIV1 500pt(DP)
题目简述 给定比赛时间T和n个题目,你可以在任意时间提交题目,每个题目有一个初始分数maxPoints[i],每个单位时间题目的分数将会减少pointsPerMinute[i],即如果在时间t解决了第i个题目,那么获得的分数为maxPoints[i] - t * pointsPerMinute[i],另外做每个题目需要requiredTime[i]的时间,求能够获得的最大分数是多少?
·
2015-11-11 06:29
div
SRM
501 DIV1 500pt(DP)
题目简述 给定一个长度为n的序列,每个数值的范围为[-1,40],-1可以替换成0~40之间的数,要求你求出符合以下条件的序列有多少个? 1、每个数都是0~40之间的数 2、对于每一个数A[i],都需要小于等于前面所有数的算术平均值,及 对于 i, 1 <= i < N, 需要满足 A[i] <= (A[0] + A[1] + ... + A[i-1]) / i
·
2015-11-11 06:28
div
Nyist 416 -- Same binary weight
原题是 : TopCoder
SRM
416 DIV 2 Same binary weight 先看看这几个例子: 1717(0110 1011 0101),下一位是 1718(0110
·
2015-11-11 06:06
binary
TopCoder_
SRM
_144_DIV2_250_Time
Problem Statement Computers tend to store dates and times as single numbers which represent the number of seconds or milliseconds since a particular date. Your task in this
·
2015-11-11 06:50
topcoder
SRM
616 ColorfulCoins
(一次查询是要求给出面额总数某一个值的货币即可,假设给出的货币数目总是最少的,而且是可行的) 官方题解:http://apps.topcoder.com/wiki/display/tc/
SRM
+616
·
2015-11-11 05:00
color
SRM
615 DIV1 500
TC 都615了。。。时间过的真快啊。 第一次做出500分,心情还是很激动的,虽然看了很久的题解,TC官网上的题解,很详细,但是英语的...我搜了搜,发现一份日语的...好吧,我还是看看英语的吧... 这题算法就是二维spfa啊,很容易看出,存在一个环mod,那么D+x*mod = T 这样话,就合法了。就可以用dis[d][u] u表示点,距离 模mod 为d,这样跑一下spfa,只要dis
·
2015-11-11 04:10
div
SRM
595 DIV1 250
挺简单的组合把。 1 #include <cstdio> 2 #include <cstring> 3 #include <iostream> 4 #include <vector> 5 using namespace std; 6 #define LL long long 7 int flag[1001]; 8 i
·
2015-11-11 04:59
div
SRM
595 DIV2 1000
数位DP的感觉,但是跟模版不是一个套路的,看的题解,代码好理解,但是确实难想。 1 #include <cstdio> 2 #include <cstring> 3 #include <iostream> 4 using namespace std; 5 #define LL long long 6 LL dp[31][2][2][2]
·
2015-11-11 04:58
div
SRM
594 DIV1 250
可能开始宿舍比较乱,思绪静不下来。。。想了大半个小时,终于确定了应该暴力+DP,然后写了枚举除数,和被除的版本。。这样,还敲错了个字母,第一次提交还100多,修改提交还有75.多,最后想到,貌似不打对啊,改完再交就剩下75了。。。还好,没挂0。。。这样写,还是比较好写的,最后10分钟,开始改,最后4分钟改完。。 1 #include <iostream> 2 #include
·
2015-11-11 04:42
div
TC
SRM
593 DIV1 250
我只能说的亏没做,要不就挂0了。。 本来想四色定理,肯定4就可以的。。。然后准备爆,发现3的时候不好爆,又想了老一会,嗯,数据范围不小,应该不是暴力,直接找规律,貌似最大就是3,有一个3连块,输出3,其他输出2什么的。交,发现有环的时候,特殊的也是3。。。没办法还得暴力啊。暴力2的情况,写的也是各种错误。。。终于过了。 1 #include <iostream> 2 #in
·
2015-11-11 04:31
div
TC
SRM
593 DIV2 1000
很棒的DP,不过没想出,看题解了。。思维很重要。 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <vector> 5 #include <cmath> 6 #include <algorithm>
·
2015-11-11 04:30
div
TC
SRM
591 DIV2 1000
很不错的一题,非常巧妙的用DP顺序解决这个问题。。。 可以发现,只和A里面最小的有关系。。。 1 #include <cstdio> 2 #include <cstring> 3 #include <queue> 4 #include <string> 5 #include <vector> 6 #includ
·
2015-11-11 04:29
div
TC
SRM
591
表示第一次在div1,我要记录一下... 木有挂0,第一题不怎么难的,读题读了20分钟,又想了20分钟,时间有点长,然后各种小心,然后得了140分.... 后两个题,根本木有看,貌似做出来的也不多。。。涨了6分。。。这。。。 我的成绩很稳定,一直都是一个题。。。 贴了代码,填充一下内容。。。 第一题: class TheTree { public: int maximu
·
2015-11-11 04:22
rm
上一页
31
32
33
34
35
36
37
38
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他