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
sicily
sicily
1077(动态规划)
题目链接:
sicily
1077题目分析:一看便知道,这是一个多重背包问题,但是关键不在这里,而在数据量——好大,于是我们需要一种优化——多重背包转0-1背包解题思路:首先我们考虑第i种物品,如果它有num
fuyukai
·
2015-04-06 21:00
sicily
1140(搜索)
题目链接:
sicily
1140解题思路:贪心+深搜相当考编程能力的一道题,一个手贱就卡了好几天,不过的确是一到好题。考察的是对贪心法的运用,还有编程能力——深搜。
fuyukai
·
2015-04-03 19:00
sicily
1136(线段树+最大子数组)
题目链接:
sicily
1136解题思路:要求区间内的最大子数组,而且访问可能很频繁,时间复杂度需要达到o(n*logn),于是就很自然地想到了线段树。
fuyukai
·
2015-03-19 19:00
Sicily
13858
//Problem#:13858 //Submission#:3622037 //ThesourcecodeislicensedunderCreativeCommonsAttribution-NonCommercial-ShareAlike3.0UnportedLicense //URI:http://creativecommons.org/licenses/by-nc-sa/3.0/ //All
immiao
·
2015-03-18 20:00
Sicily
13859
#include #include #include #include #include #include #include usingnamespacestd; stringstr[31][105]; stringcompare[105]; introwCounter[31]; chartmp[105]; inttotalCol,total; voidssort() { inti,j,k;
immiao
·
2015-03-18 20:00
sicily
1419(动态规划)
题目链接:
sicily
1419解题思路:(一道稍微有点不一样的动态规划题目)刚开始看到题目就立马想到一种动规的解法,用dp[i][j]表示第i个到达第j个点,可是这种做法有一个问题——推导下一个点的时候需要用到再上一个点的数据
fuyukai
·
2015-03-12 22:00
sicily
1176 (动态规划)
题目连接:
sicily
1176解题思路:题目看上去像是一道博弈的题,又像是一道区间型DP的题目(矩阵取数),而它跟矩阵取数的区别就是他是两个人在取数,所以每次对一个区间,我们应分两种情况考虑:第一个人取左边的数和取右边的数
fuyukai
·
2015-03-05 15:00
sicily
13602(动态规划)
题目链接:
sicily
13602拿到题目马上就想到动规了,而且应该算是棋盘型的DP,状态转移方程挺好想的,就直接上代码了:#include usingnamespacestd; longlongdp
fuyukai
·
2015-02-27 16:00
sicily
_1012 (计算几何)
计算几何第一题,从没有做过几何题,每次看到就跳,今天是一个开始。这题的递推是小事,重点是几何部分。我用的是高中的解析几何的做法,先求中垂线斜率,已知中点,然后通过距离来求出要求的点的坐标(PS:这题放在高中是超级水题啊,为什么写成C++这么烦)几何部分代码:voidcal(inti,intj) { doublel=2.0,h,d; d=sqrt((dp[i].x-dp[j].x)*(dp[i].x
fuyukai
·
2015-02-21 12:00
sicily
_1221 (0-1背包问题)
题述:小W发明了一个游戏,他在黑板上写出了一行数字a1,a2,….an,然后给你m个回合的机会,每回合你可以从中选择一个数擦去它,接着剩下来的每个数字ai都要递减一个值bi。如此重复m个回合,所有你擦去的数字之和就是你所得到的分数。要你把这个分数最大化。输入:第一行,一个整数n(10;j--) dp[j]=max(dp[j],dp[j-1]+num[i].a-num[i].b*(j-1));但是,
fuyukai
·
2015-02-19 23:00
sicily
_1150 &
sicily
_1151
康托展开两题其实是一样的两道题,可以训练宽搜,但是,这两题作为宽搜其实是水题,比较难的地方其实是对状态的记录,即队列的元素采用什么来保存,这里用到了康托展开(介绍点这儿)解决了保存的问题,接下来的都是琐事了,上代码://
sicily
1150
fuyukai
·
2015-02-18 14:00
sicily
1020. Big Integer
#include #include #define MAX_SIZE 100 using namespace std; int mod(string input,int m) { int res=0; for(int i=0;i>testCase; while(testCase--) { int num; cin>>num; for(int i=0;i>str[i];
10yudesong
·
2014-12-25 21:00
sicily
1120
Sicily
1171. The Game of Efil 【利用完全二叉树遍历构造序列】
题目链接在此(1)“GameofLife”,经典游戏和案例。一排排一列列格子,初始状态下,里面有一些细菌。通过数邻居(四周共8个)之中共有多少个细菌来决定下一代:如果某格子里原来有细菌,邻居有2个或3个细菌则下一代存活,否则下一代格子变空;如果某格子里原来没有细菌,邻居恰好有3个细菌则下一代生成一个细菌,否则下一代还是空的。(2)这题里面,格子有界。难以理解的地方在于必须把整张图想象成环形的。比如
CharlieLincy
·
2014-12-24 14:00
sicily
Sicily
1231. The Embarrassed Cryptography【高精度取余】
题目链接在此启示1用筛选法构造质数表;启示2memset函数是以字节为单位操作数组的,对于char型数组,第二个参数怎样设置都行,因为每个char刚好就1个字节。但对于int型数组,就不能随便设第二个参数,因为每个int有4个字节。比如想把inta[20]数组的所有值都初始化为1,就不能写memset(a,1,20),这样一来每个数组的前5(20/4=5)个元素的值实际上是0x01010101,即
peace in mind
·
2014-12-04 19:16
模板
其他
Sicily
1231. The Embarrassed Cryptography【高精度取余】
题目链接在此启示1用筛选法构造质数表;启示2memset函数是以字节为单位操作数组的,对于char型数组,第二个参数怎样设置都行,因为每个char刚好就1个字节。但对于int型数组,就不能随便设第二个参数,因为每个int有4个字节。比如想把inta[20]数组的所有值都初始化为1,就不能写memset(a,1,20),这样一来每个数组的前5(20/4=5)个元素的值实际上是0x01010101,即
CharlieLincy
·
2014-12-04 19:00
sicily
sicily
1203. The Cubic End
题目链接在此转自这位大神1.乘法求模:(1)模数不大的时候可利用性质(a*b)%c=(a%c)*(b%c)%c(2)模数和两乘数都很大的时候,可用以下算法(暂时还没弄清原理和理论来源,就当个模板吧):longlongmulAndMod(longlonga,longlongb,longlongmod){//a*b%mod longlongc; constintbase=2;//base可以取任意大于
CharlieLincy
·
2014-12-03 13:00
sicily
Sicily
1041. Pushing Boxes
题目链接在此这题做出来破费周折,以至于不想详细写思路了,po出来就当是给自己的辛勤与愚昧做个纪念吧。下面的是自己写的代码,最没必要的是给每个箱子分配变量来跟踪。当然更推荐这位大神的代码,简单又容易理解。#include #include #include usingnamespacestd; structbox{//top~[0,width-1]left~[0,length-1] inttop
CharlieLincy
·
2014-12-01 22:00
sicily
Sicily
1381. a*b【高精度乘法】
题目链接在此乘法就是加法,高精度乘法肯定要有高精度加法支撑啦。不过对于x*y,相比于直接把x的加法循环y次,不如来点快捷的(而且乘数y也很大,循环怎么弄?)!每次只拿x和y的个位数相乘(也就是循环做加法),然后把被乘数x末尾添加“0”(也就是把x乘以10),再把y抹去最后一位。进入下次循环直到y变成空串为之。本来STL里的string类有很多方便的函数,比如back()取末尾字符,pop_back
CharlieLincy
·
2014-11-07 21:00
sicily
Sicily
1028. Hanoi Tower Sequence【高精度取余和除法】
题目链接在此这道题目有点意思。渣渣我从这位大神这里得到了解题奥妙。找某个数的二进制从右边数第一个“1”是第几位即可。由于这题的数可能很大,那么就要使用高精度除法和取余了=。=思路就是模仿手算除法。1020就是道高精度取余的题,与这道题可以互相借鉴。源代码如下:#include #include usingnamespacestd; intcharToInt(chara){ returna-'0
CharlieLincy
·
2014-11-06 23:00
sicily
Sicily
1059. Exocenter of a Triangle
题目链接在此求垂心。已知三个顶点的坐标,求垂心的坐标的思路在此。当然里面没考虑各种三角形的边与x或y轴平行的情况。参考以下源代码注释即可。#include #include #include usingnamespacestd; #defineINFINITE999999.0 boolequal(doublea,doubleb){//两个double类型数据不能简单地以==来判断相等 ret
CharlieLincy
·
2014-11-06 22:00
sicily
Sicily
1004. I Conduit!
题目链接在此参考的是这位大神的解题方法这题要考虑的情况有很多。另外两个double类型数据不能简单地以==来判断相等!以下是源代码:#include #include #include usingnamespacestd; #defineINFINITE10000.00 boolequal(doublea,doubleb){//两个double类型数据不能简单地以==来判断相等 return
CharlieLincy
·
2014-11-06 11:00
sicily
Sicily
1018. A Card Trick【排列组合】
题目链接在此这道题题意有些难理解,解法倒是不难。主要是将5张牌做全排列,然后找出符合要求的一种情况即可。最大的收获是加深了对next_permutaiton函数的理解。在此题中,我是把每张牌抽象成了一个包含牌数(intvalue)和花色(charsuit)的结构体。对结构体运用next_permutaiton有两点要特别注意:(1)要自定义以一个比较函数,两种方法任选一种:a.在结构体定义中直接重
CharlieLincy
·
2014-11-05 00:00
sicily
1009. Mersenne Composite N
1009.MersenneCompositeN
sicily
prime题意原题链接给一个数k,对小于k的素数,若2^k-1的值是合数的话,求出它的质因子code直接看源码 #include
xuanyoumeng
·
2014-11-02 18:00
C++
1151 魔板
1151魔板
sicily
algorithm 广搜 康托展开1151魔板原题中文描述输入输出算法思想数据结构解题思路及算法描述code测试数据时间复杂度分析原题中文描述原题链接魔板由8个大小相同方块组成
xuanyoumeng
·
2014-11-02 00:00
Algorithm
C++
广搜
1153 马的周游问题
1153马的周游问题标签:
sicily
algorithm递归与回溯1153马的周游问题原题中文大意算法思想数据结构解题思路及算法描述code测试数据时间复杂度分析原题中文大意原题链接一个有限大小的棋盘上有一只马
xuanyoumeng
·
2014-11-01 21:00
C++
1046 Plane Spotting
1046PlaneSpotting
sicily
algorithmtitle题目链接:给出一个长度为N的非负整数序列(所有数不超过200),还有两个整数M和K,求前M个最优的长度不小于K的连续子序列。
xuanyoumeng
·
2014-11-01 20:00
C++
sicily
Computing PI
DescriptionTimeLimit:1secMemoryLimit:256MBYoucanapproximatePIbyusingthefollowingseries:PI=4(1-1/3+1/5-1/7+1/9-...-1/(2i-1)+1/(2i+1))InputAnintegeri(0
Mr_Zing
·
2014-10-30 19:00
pi
sicily
Sicily
1153. 马的周游问题
题目链接在此用1152的解法做果断TLE,然后优化了一下,采用了类似启发式搜索的做法,答案秒出。数据结构与算法思想(1) 数据结构 ①用结构体记录每个位置,其中包含其坐标:struct pos {int row;int col;}; ②用数组存储是否访问过某位置:bool visited[65]; ③用数组记录“周游”的顺序:int printSeq[65]; (2)算法思想①使用DFS(深度优先
CharlieLincy
·
2014-10-22 14:00
sicily
Sicily
1034. Forest
题目链接在此解题思路:1.设置inDegree数组,记录节点的入度,若再输入的过程中节点入度大于1,则立即判断forrest非法。2.深搜DFS,用visit数组记录已访问的节点,判断是否存在环。3.用widths数组记录每一层深度的节点数(即宽度)。4.邻接矩阵adjacent记录节点之间的边。#include #include #include #include //#pragmawarnin
CharlieLincy
·
2014-10-22 11:00
sicily
Sicily
1121
表示的意义dp[i][j]表示第i列第j种切口的种数。分析到第i列的缺口情况其实只有2种。dp[i][1]: 或(缺口的位置是第i列,这两种情况一样我就合成一种了)。拿来说,其实它有2种出现的情况,不单单可以是,还可以是。dp[i][0]表示第i列已被完全填充。如何计算dp[i][0]会有多种情况被完全填充,一种是由dp[i-2][0]得来的,另一种是由dp[i-2][1]得来的。根据dp[i-2
immiao
·
2014-10-18 20:00
sicily
1150,1151
// Problem#: 1151 // Submission#: 2982372 // The source code is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License // URI: http://creativecommons.org/licenses/by
li362927450
·
2014-10-12 10:00
sicily
1151
1150
sicily
1176
// Problem#: 1176 // Submission#: 2994117 // The source code is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License // URI: http://creativecommons.org/licenses/by
li362927450
·
2014-10-12 10:00
sicily
1176
Sicily
1152. 简单的马周游问题
题目链接在此这个题解未采用类似“启发式搜索”的做法。只是po一下代码。更快捷的做法与详解见另一篇博文:《马的周游问题》#include #include usingnamespacestd; structpos{ introw; intcol; pos(){} pos(intr,intc):row(r),col(c){} posplus(posa){ returnpos(a.row+thi
CharlieLincy
·
2014-10-10 09:00
sicily
Sicily
1050. Numbers & Letters
题目链接在此转自于这位大神有点类似于24点。本题的思路为每次在5个数中选择2个数,然后对其分别进行加减乘除运算。 在进行了每种运算之后,得到一个数,用这个数覆盖掉所选的2个数中的其中一个,由于之后的深度优先搜索的数组大小减1,且需扫描可用的数来确定最大数或者是否达到目标数,所以该其中一个为i,而不能是j,因为如果是j的话,会出现n-1的情况使得该运算结果等下不可用的情况。 另外一个数用当前数组最后
CharlieLincy
·
2014-10-09 20:00
sicily
Sicily
1193
相遇理解为直接穿过。#include #include #include usingnamespacestd; structperson { intf,b; }p[1005]; boolcmp(structpersona,structpersonb) { returna.f=0&&counter
immiao
·
2014-10-07 10:00
Sicily
E1_fib1 斐波那契数列取模(大数)分治算法
思路与源代码参考地址在此(1)由于有如下性质:(n*m)%c=[(n%c)*(m%c)]%c(n+m)%c=[(n%c)+(m%c)]%c,计算过程中可以随时取模,而不影响最终的结果。(2)利用矩阵求斐波那契数列:(3)二分的原理:要求矩阵的N次方A(N),设i=N/2。若N%2==1,则A(N)=A(i)*A(i)*A(1);若N%2==0,则A(N)=A(i)*A(i)基于二进制的原理:将N拆
peace in mind
·
2014-09-26 22:42
数学与数论
Sicily
E1_fib1 斐波那契数列取模(大数)分治算法
思路与源代码参考地址在此(1)由于有如下性质:(n*m)%c=[(n%c)*(m%c)]%c(n+m)%c=[(n%c)+(m%c)]%c ,计算过程中可以随时取模,而不影响最终的结果。(2)利用矩阵求斐波那契数列:(3)二分的原理:要求矩阵的N次方A(N),设i=N/2。若N%2==1,则A(N)=A(i)*A(i)*A(1);若N%2==0,则A(N)=A(i)*A(i)基于二进制的原理:将N
CharlieLincy
·
2014-09-26 22:00
sicily
Sicily
1176
递归超时的代码://Problem#:1176 //Submission#:2918390 //ThesourcecodeislicensedunderCreativeCommonsAttribution-NonCommercial-ShareAlike3.0UnportedLicense //URI:http://creativecommons.org/licenses/by-nc-sa/3.0
immiao
·
2014-09-17 15:00
Sicily
1050(DFS)
先枚举五个数取1个、2个、3个、4个、5个的情况,存在num2数组中。再对num2数组枚举,每次选2个数合并。(0.4s)/* *Cpp0.cpp * *Createdon:2014年7月8日 *Author:MIAO */ #include #include #include #include #include #include usingnamespacestd; intT; longlon
immiao
·
2014-09-14 15:00
sicily
1194 Message Flood (STL的map和set应用练习)
题目:D- MessageFloodTimeLimit:1500MS MemoryLimit:65536KB 64bitIOFormat:%lld&%lluDescriptionWell,howdoyoufeelaboutmobilephone?Youranswerwouldprobablybesomethinglikethat"It'ssoconvenientandbenefit
u013013910
·
2014-08-04 15:00
编程
C语言
ACM
STL
链表水题一道
sicily
1934.移动小球 -- 线性结构,链表,水题
题目描述你有一些小球,从左到右依次编号为1,2,3,...,n.你可以执行两种指令(1或者2)。其中,1XY表示把小球X移动到小球Y的左边,2XY表示把小球X移动到小球Y右边。指令保证合法,即X不等于Y。例如,初始状态1,2,3,4,5,6的小球执行114后,小球1被移动到小球4的左边,即2,3,1,4,5,6。如果再执行235,结点3将会移到5的右边,即2,1,4,5,3,6。 输入格式第一行为
u013480370
·
2014-07-06 18:00
Sicily
1302 Magic Square (数论)
链接:http://soj.me/1302题目中有图和表格,所以就不把题目信息列出来了,打开链接直接看就行了。。。分析:从填幻方的过程,可以判断一下几点:1>.幻方的每一列都是向下发展的;2>.填入的前n个数都刚好是每一列第一个填入的数;从这两点可以推出下面几点:(1).每一列的发展是平面的(即每一列的个数是一样的,特别的,只有一列少一);(2).右下角那个数肯定是填入的最大的;(3).当我们填入
u012823258
·
2014-05-13 19:00
sicily
Sicily
1732 Alice and Bob (二进制数的最大公约数)
链接: http://soj.me/1732ConstraintsTimeLimit:1secs,MemoryLimit:32MBDescription:Aliceisabeautifulandclevergirl.BobwouldliketoplaywithAlice.Oneday,Alicegotaverybigrectangleandwantedtodivideitintosmallsqua
u012823258
·
2014-05-13 19:00
sicily
二进制数的最大公约数
Sicily
1738 get ready? (基础题)
链接:http://soj.me/show_problem.php?pid=1738&cid=DescriptionIsthisyourfirsttimesparticipatinginthiskindofcontest?Ithinkmostofyouwillanswer“Yes”.Solet’sdothisproblemaswarm-upandcheckwhetherthePC^2workpro
u012823258
·
2014-05-09 18:00
Sicily
1735 Encryption (模拟)
链接:http://soj.me/show_problem.php?pid=1735&cid=DescriptionLetmeintroduceaneasymethodofencryptiontoyou.Supposethere’reNbytes(1byte=8bits)datathataretobeencryptedandwewanttoencryptthemingroupsofMbytes,w
u012823258
·
2014-05-09 18:00
模拟
Sicily
1299 Academy Awards (map + vector容器)
链接:http://soj.me/show_problem.php?pid=1299&cid=DescriptionSelectedfrom3,850teamsfrom1,329universitiesin68countriescompetingat106sitesandpreliminarycontestsworldwide,sixty-eightteamscompetedforbragging
u012823258
·
2014-05-07 17:00
vector
map
c++容器
sicily
1007 To and Fro (基础题)
链接:http://soj.me/show_problem.php?pid=1007DescriptionMoandLarryhavedevisedawayofencryptingmessages.Theyfirstdecidesecretlyonthenumberofcolumnsandwritethemessage(lettersonly)downthecolumns,paddingwithe
u012823258
·
2014-04-28 20:00
sicily
sicily
OJ 09广东省赛重现D A Carnival Game(计算几何)
题意:有n个扇形,每个扇形给从外到里分为K个部分,并且每个扇形都不相交或者覆盖,扇形从外到里的部分分数为1,2,3...K然后给一个圆,判断圆是不是在某个扇形中,并且不和扇形的弧和边相交。如果圆在扇形某个部分,并且不和扇形相交,求出它所在部分的分数,如果不在扇形里面或者和扇形相交输出0.思路:对于某个圆,暴力枚举它是不是和扇形相交,或者圆心在扇形里面。如果和扇形外面的边相交,就输出0如果不和扇形的
u013654696
·
2014-04-12 22:00
sicily
OJ 11中大预选赛 D Minimum Labeled Spanning Tree
题意:一个n个节点的树的 labelsequence就是选n次叶子,每次选的叶子是字典序最小的,选了之后去掉给定一个图,求它的一个生成树,使得它的 labelsequence字典序最小对于一个节点,如果它是割顶的话它在生成树中就一定不能当叶子。生成树可以看成有次序地选n个节点,每次选的节点要么不是割顶,要么是叶子,所以每选一个节点都重新算一下每个节点是不是割顶,并且每次选的节点要尽可能的小运气好,
u013654696
·
2014-04-02 22:00
sicily
OJ 11珠海赛重现 C Unlosing Ranger V.S. Darkdeath Evilman(DP)
看到决斗的题好兴奋,前几天刚做过类似的题。。所以很坚决地搞了这个题,但是搞了快3个小时题意:有一个超人和怪兽,各自有血n和m每个回合超人先打怪兽,每次造成X1-X2之间的伤害,伤害是X1-X2之间的整数点,且每个整数点的概率相同然后是怪兽打超人,每次造成Y1-Y2之间的伤害,伤害的概率和超人一样当有一方的血小于等于0就输了然后问超人打赢怪兽的概率果断地DPdp[i][j][0]表示超人有i血,怪兽
u013654696
·
2014-03-30 20:00
上一页
5
6
7
8
9
10
11
12
下一页
按字母分类:
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
其他