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
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
SRM
538 D1 L2
Problem Statement 题目的意思很简单,一只乌龟从起始点A开始,执行N条命令,命令有四种,向左、右转一定的角度,向前、后爬行若干距离,问说如何安排着N条命令,使得最后到达的终点B离A最远,给出这个最远的距离。 如果命令只有前进和旋转的话,易知不旋转,直接前进到不能前进是最优的,后退同理。 当有前进和后退同在时,将不在一起的前进的命令都抽取出来从最初的位置开始接起,根据向量相加是
·
2015-11-11 04:43
rm
SRM
533 D1 L2
Problem Statement 给定一个矩形的棋盘,上面要么填"#",要么填".",问说能否找到一条路径,上面放着棋盘中所有的"#",且相邻两个点的行编号和列编号间隔相等。 建立一个二分图,左边是行,右边是列,上面的"#"在二分图中表示为一条边,若两个点行编号相等,则这两个点在二分图中对应的边邻接于左部的点。因
·
2015-11-11 04:42
rm
SRM
533 D2 L3
Problem Statement 这题的描述比较复杂,就不说了。整个过程类似一个游戏,参数有天,生命值,胜利的概率,最后求最大存活的期望天数。 用dp[i][j]表示当前生命值为j,考虑了从i...N这些巫师的攻击。 有一点观察很重要,就是如果考虑巫师在同一天的话,那么安排他们的order与最后的结果是无关的,而对于每个巫师,要么攻击她,要么不攻击她。 还有一个要注意的是,巫师的状态决定
·
2015-11-11 04:41
rm
SRM
533 D1 L1
Problem Statement 题目大意是给定N个有序数字,delete一个数字a[x],产生能量a[x - 1] * a[x + 1],问说产生的最大能量是多少,第一个和最后一个不能delete。 反过来考虑,insert操作,动态规划。 #include <iostream>#include <vector>using namespace std;int d
·
2015-11-11 04:40
rm
SRM
532 D2 L3
Problem Statement 题目大意是给定一个N*M的棋盘,然后棋盘上染色,要求染色满足这样的条件,染色块的四领域内的染色块数为偶数。 用dp[i][j][k]表示1..i行,第i行放置状态为j,奇偶性为k的方案数,用f[i][j][k]表示放置状态为j,奇偶性对应为k的方案数,其中判断奇偶性时用到二进制处理,最后的复杂度为O(N*4^M), 内存方面要用滚动数组优化,解题报告的做法
·
2015-11-11 04:40
rm
SRM
532 D1 L2
很有趣的一道题目,套了两个动态规划。 Promblem Statement 题目大意是有N个顶点,需要连M条无向边,要求两个顶点A, B的序号满足0 < |A - B| <= K,K<=8,问说一共有多少种方案。 f[i][j][mask][k]表示考虑顶点0...i,使用j条边,前从i往前的K个顶点加上自己的的位状态是mask,并且考虑从i到i - k的连边方案的总方案数
·
2015-11-11 04:39
rm
SRM
531 D1 L1
Problem Statement 给定N个数,要求选出P个数(可以重复),使得每个数至少出现一次,且重复出现的数之间至少间隔M个数,问说有多少种可能。 参考解题报告,可以用动态规划的方法来做,基于这样的一个观察,连续的M+1个数肯定是两两不同的,所以可以一个一个选,还没选过的数可以直接选进去,还有就是除了那M个不同的数以外,任选一个数进来,可以保证两两不同。 同时可以用容斥原理来做,先忽略
·
2015-11-11 04:38
rm
SRM
507 DIV1 L2 [枚举+模拟]
CubePacking的题意是这样的,有Ns个1*1*1和Nb个L*L*L的立方体,对这些立方体打包,要求正交放置,问说最小用多大的长方体盒子,思路是枚举盒子,然后把东西往里放。 枚举就是要去除那些重复的项,即枚举满足x<=y<=z且x*y*z<=n的(x,y),这个的复杂度说是只有O(N^(2/3)),那样的话对于N是INT_MAX的话,也是可以接受的。然后放置那些立方体,求
·
2015-11-11 04:34
div
2010 TopCoder Open Algorithm Competition Qualification Rounds 1
这种比赛,看得和平时的
SRM
一样,我是来打酱油的。
·
2015-11-11 03:51
Algorithm
SRM
627 D1L2GraphInversionsDFS查找指定长度的所有路径 Binary indexed tree (BIT)
题目:http://community.topcoder.com/stat?c=problem_statement&pm=13275&rd=16008 由于图中边数不多,选择DFS遍历全部路径,计算路径Inversions时使用了一个R[] 数组,能够在O(N)时间内得到路径Inversions,又由于该图所以路径条数为O(N^2),算法复杂度为O(N^3),对于N为1000的限
·
2015-11-11 03:27
version
SRM
584 DIV1
A 简单的差分约束模型 , 因为d是定值 , 所以也可以按最短路理解 , trick是不能把圈算进去. 1 #define maxn 55 2 class Egalitarianism { 3 public: 4 int maxDifference(vector <string>, int); 5 }; 6 int e[maxn][
·
2015-11-11 02:45
div
SRM
515 DIV1 550pt
题目大意: n个人进入商店买东西,对于每个顾客都有T、C、P这3个数组,表示有Pj的概率第i个顾客在Tj的时间进入商店以Cj的价格买东西,每个顾客Pj的和小于等于1,保证每个时间只最多只有一个顾客可能会来,每个顾客只进入商店一次。一共有swords个物品,当一个顾客进来买东西的时候,售货员可以选择卖或不卖,她以之后的最大期望进行选择。问收银额的期望是多少。 解题思路: 当每个顾客可能来商店的
·
2015-11-11 01:13
div
Linux启动过程综述
MILO功能与i386平台的LILO相近,但内置有基本的磁盘 驱动程序(如IDE、SCSI等),以及常见的文件系统驱动程序(如ext2,iso9660等), firmware有ARC、
SRM
两种形式,ARC
·
2015-11-11 00:13
linux
高效求幂取余 算法,复杂度 log(n)
做TopCoder
SRM
576 D2 L3 题目时,程序有个地方需要对一个数大量求幂并取余,导致程序运行时间很长,看了Editoral之后,发现一个超级高效的求幂并取余的算法,之前做System
·
2015-11-10 22:46
log
SRM
588 D2 L2:GUMIAndSongsDiv2,冷静思考,好的算法简洁明了
题目来源:http://community.topcoder.com/stat?c=problem_statement&pm=12707 算法决定一切,这道题目有很多方法解,个人认为这里 vexorian 给出的解法最简便,编码也最容易。而使用brute force 和 DP都比较复杂。 代码如下: #include <algor
·
2015-11-10 22:27
div
SRM
588 D2 L3:GameInDarknessDiv2,DFS
题目来源:http://community.topcoder.com/stat?c=problem_statement&pm=12710 采用DFS搜索,第一次写的时候忘了加访问标志,结果状态空间呈指数增长(主要是因为有大量重复的状态),根本算不出结果,后来加入访问标志数组 v 后,就能保证不访问重复的状态的了。这道题目的启示就是使用DFS一定要记住确保不访问重复的状态,有些时候很
·
2015-11-10 22:23
game
SRM
618 DIV1 500
非常棒的组合问题,看了好一会,无想法.... 有很多做法,我发现不考虑顺序的最好理解,也最好写。 结果一定是两种形式 A....A dp[n-1] A...A...A sgma(dp[j]*dp[n-j-1])( 1<=j<=n-2) 最后乘上n! 什么时候才能自己在比赛中做出一个500分来啊!!! class LongWordsDiv1 { p
·
2015-11-10 22:21
div
SRM
589
250: 给一个串S,可以做这样的操作,可以将串中的一种字母变成另一种字母,代价是该种字母的数量。求解的问题是,最小的代价将串S变成回文串。 根据回文关系,我们可以形成等价对应关系,a与b等价对应说明a和b必须是同种字母,根据这个关系,我们可以得到一个图,每个连通块表示要变成一种相同的字母,而这个操作的最小代价就是将连通块中除出现次数最多的字母全部都转变成出现次数最多的字母。 #inclu
·
2015-11-10 21:17
rm
SRM
588
250: 有n首歌每首歌有duration和tone,连续唱m首歌会消耗每首歌的duration以及相邻两首歌的tone的差的绝对值的和,给个T,问说在T时间内最对能唱多少歌。 将歌按tone排序后发现,只要枚举连续歌的最左和最右,这样产生的收尾的tone的绝对值的差的和是不变的,然后将中间的歌按duration从小到大唱,知道时间T消耗完毕。 500: 要发现访问若干room后获取到的钥
·
2015-11-10 21:16
rm
SRM
587 DIV1
要掉到DVI2了。。好不容这次的250那么简单,500的题知道怎么做,可惜没调出来500。 250的题很简单,从第1步到第N步,每次要么不做,要么走i步,且X不能走,问说最远走多远。 #include <iostream> #include <vector> #include <string> #include <string.h> u
·
2015-11-10 21:04
div
SRM
585 DIV1 L2
记录dp(i, j)表示前i种卡片的排列,使得LISNumber为j的方法数。 #include <iostream> #include <vector> #include <string> #include <string.h> using namespace std; typedef long long int64; co
·
2015-11-10 21:00
div
SRM
586 DIV1 L1
可以化简为求n条线段的最大覆盖问题,需要注意的是对于实数而言。 #include <iostream> #include <vector> #include <string> #include <queue> #include <map> #include <string.h> using namespace
·
2015-11-10 21:59
div
SRM
574 DIV1 L2
题面见这,给一个多边形,有N个顶点,依次连接多边形上的顶点,要求每条线段要至少与之前的某条线段相交,且最终回到原点,求全部的方案数。需要发现具体的方案数与之前的访问的点的顺序是没有关系的,和具体的集合是有关系的,采用动态规划解决该问题。 #include <iostream> #include <algorithm> #include <vector>
·
2015-11-10 21:53
div
SRM
6.1安装配置指南
1、假设两个站点均已部署好ESXi主机和vcenter,vcenter版本为VCSA,首先在两个站点中安装VR,安装VR时一定要用webclient进行部署,需要注意的是VR在配置和vcenter的连接时一定要用域名,如果没有DNS服务器,要在VR和vcenter中修改HOSTS文件。另外一定要注意VR和VCENTER的时间要保持一致,最大不能超过300秒的时差。配置界面需要填写的内容大概如下:2
qq8658868
·
2015-11-10 00:16
服务器
主机
中介
SRM
6.1安装配置指南
1、假设两个站点均已部署好ESXi主机和vcenter,vcenter版本为VCSA,首先在两个站点中安装VR,安装VR时一定要用webclient进行部署,需要注意的是VR在配置和vcenter的连接时一定要用域名,如果没有DNS服务器,要在VR和vcenter中修改HOSTS文件。另外一定要注意VR和VCENTER的时间要保持一致,最大不能超过300秒的时差。配置界面需要填写的内容大概如下:2
qq8658868
·
2015-11-10 00:16
主机
服务器
中介
VMware
虚拟化
SRM
6.1安装配置指南
1、假设两个站点均已部署好ESXi主机和vcenter,vcenter版本为VCSA,首先在两个站点中安装VR,安装VR时一定要用webclient进行部署,需要注意的是VR在配置和vcenter的连接时一定要用域名,如果没有DNS服务器,要在VR和vcenter中修改HOSTS文件。另外一定要注意VR和VCENTER的时间要保持一致,最大不能超过300秒的时差。配置界面需要填写的内容大概如下:2
qq8658868
·
2015-11-10 00:16
服务器
主机
中介
TC250专场
SRM
623 DIV2 1000pt 题意:给出一个最多50*50的矩阵,每个单元可能为'.'、'P'、'A','.'
·
2015-11-08 14:12
c
SRM
628 DIV2
250 想想就发现规律了。 500 暴力,括号匹配。 1000 给一个f数组,如果i存在,那么f[i]也得存在,问这样的集合有多少种。 先拓扑一下,dp[i] = mul(dp[son]+1)最后环里面的元素的乘积是结果。 #include <iostream> #include <cstdio> #include <st
·
2015-11-08 14:47
div
从topcoder赚钱的方法~
算法1.1
SRM
钱少($30左右),而且很难。1.2 Tournament 钱多($1000~$10000),太难~ 2.
·
2015-11-08 13:56
topcoder
SRM
512 div2
迟来的比赛总结。 256pt 这题算是比较水的一题,主要是排序一下,然后再分情况讨论一下就行了。 #include <iostream> #include <cstdio> #include <algorithm> #include <string> #include <cmath> #include <vecto
·
2015-11-08 13:27
div
SRM
620
A 处理ab,处理cd。然后查找。比赛的时候用的DFS,爆栈了== vector<pair<int,int> > V[2]; void deal(int x,int y,vector<pair<int,int> > &V) { while(x>0&&y>0) {
·
2015-11-08 11:01
rm
罪犯审问 暴力+记忆化
SRM
672 div2 1000Tdetectived2
题意抓小偷,先从目击者0开始,选择犯罪可能性最大的一个人,如果有多人相同,选择哪个都有可能。然后更新所有人的犯罪可能性。问如果一个人是小偷,最少几轮能被发现。题解暴力枚举,状态压缩DP两重循环计算每个人的在所有人中的最大怀疑值,若等于指定人则更新答案。intn; vectors; intmemo[18][1(su,s[j][i]-'0'); } } intt=1+((i==k)?0:f(k,ma
詹明捷
·
2015-11-07 17:29
状压DP
SRM
513 div2
250pt,大水题一道,按照题目意思模拟一下就行了。 #include <iostream> #include <cstdio> #include <string.h> #include <vector> #include <cmath> #include <algorithm> using namespace
·
2015-11-07 12:56
div
[TopCoder]
SRM
_594_DIV2.250
好长一段时间没写博客了,实在是想不出有什么好写的。近期也有对自己的职业做了一点思考,还是整理不出个所以然来,很是烦躁 ... 研究TopCoder已经有一小段时间了,都是在做之前的题目,还没有实际参加过比赛。以后应该会开设一个topcoder的分类专门写一些里面的一些题目,就当做笔记来写 ... 比较喜欢这种解题的方式,有一些题目还是很有挑战性的,这次先贴出一题做一下暖身。(S
·
2015-11-05 08:51
topcoder
SRM
620 DIV1 L2
题意:有n个等长的string(设string的长度为m),string中的字符从'A'到'Z',容许对m列执行稳定的排序操作,问说是否能通过这m种操作将这n个string调整成对应的顺序。 题解: 为了保证区间[0, n)有序,考虑最后一个操作,该操作使得某一列在区间[0, n)中是有序的,这个操作将这n个序列分成了若干组,之前的操作需要保证每一组中的序列都是有序的。操作的顺
·
2015-11-02 19:29
div
上一页
9
10
11
12
13
14
15
16
下一页
按字母分类:
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
其他