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
lightoj数论专题
lightoj
1009 - Back to Underworld 【DFS】
题目链接:
lightoj
1009-BacktoUnderworld1009-BacktoUnderworldPDF(English)StatisticsForumTimeLimit:4second(s)
chenzhenyu123456
·
2016-04-13 22:00
lightoj
1247 - Matrix Game Nim博弈
给定一个矩阵,两个人轮流玩游戏,每次每个人可以选择一行,然后从这一行里面的每一堆里都选择一些石子拿走,拿完赢...问先手是否必胜。其实把行里面的所有石子合并也是可以的,转化为标准的Nim博弈问题。#include usingnamespacestd; #definelllonglong #defineullunsignedlonglong #definemod1000007 #defineinf0
azx736420641
·
2016-04-13 20:00
lightoj
nim博弈
lightoj
1192 - Left Right Nim博弈
给定n对点,每一对点中第一个点向右走,第二个点向左右,不能跨越...谁不能走谁输...问最后谁赢。把一对点的可以走的距离当成石子数量,就变为NIM博弈了..同上一个题目#include usingnamespacestd; #definelllonglong #defineullunsignedlonglong #definemod1000007 #defineinf0x3f3f3f3f #def
azx736420641
·
2016-04-13 20:00
nim博弈
lightoj
lightoj
1186 - Incredible Chess Nim博弈
把每一列的棋子间隔(可以走的)看成Nim博弈中的石子数量,那么答案就所有差的异或...#include usingnamespacestd; #definelllonglong #defineullunsignedlonglong #definemod1000007 #defineinf0x3f3f3f3f #defineN100100 inta[123],b[123]; intmain() {
azx736420641
·
2016-04-13 20:00
博弈
lightoj
nim博弈
lightoj
1275 - Internet Service Providers 一元二次方程
求T(C-N*T)答案最小的T的取值。方程展开是-NT*T+T*C...那么T的取值为-(-N*2)/C,负号化简...最后要输出整数,而这个可能会是小数...要判断一下T+1的情况...#include usingnamespacestd; #definelllonglong #defineullunsignedlonglong #definemod1000007 #defineinf0x3f3
azx736420641
·
2016-04-13 19:00
数学
lightoj
lightoj
1369 - Answering Queries 数学
对于所有的i>j都有sum+=a[i]-a[j],有n个数字q次修改或查询,1代表查询当前sum值,0uv代表a[u]=v;之前做过无修改的,有修改的只是多了一点点操作...对于每个数字来言,他被加上了n-1-2*i次,i从0开始..#include usingnamespacestd; #definelllonglong #defineullunsignedlonglong #definemod
azx736420641
·
2016-04-13 19:00
数学
乱搞
lightoj
Lightoj
--1009--Back to Underworld(dfs)
BacktoUnderworldTimeLimit: 4000MSMemoryLimit: 32768KB64bitIOFormat: %lld&%lluSubmit StatusDescriptionTheVampiresandLykansarefightingeachothertodeath.Thewarhasbecomesofiercethat,noneknowswhowillwin.The
qq_29963431
·
2016-04-13 19:00
lightoj
1354 - IP Checking
给定一个十进制的IP地址和一个二进制的IP地址,问两个地址是否是一个。直接每八位二进制数字转化十进制判断相等,简单模拟#include usingnamespacestd; #definelllonglong #defineullunsignedlonglong #definemod1000007 #defineinf0x3f3f3f3f #defineN100100 chars[100]; in
azx736420641
·
2016-04-13 19:00
二进制
lightoj
Lightoj
1006——Hex-a-bonacci(递归转递推)
Givenacode(notoptimized),andnecessaryinputs,youhavetofindtheoutputofthecodefortheinputs.Thecodeisasfollows:inta,b,c,d,e,f;intfn(intn){if(n==0)returna;if(n==1)returnb;if(n==2)returnc;if(n==3)returnd;if
blue_skyrim
·
2016-04-13 17:00
递归
C语言
AS
lightoj
lightoj
1297 - Largest Box 三分查找
给定一个盒子,选取一个x值,使得盒子体积最大。体积公式为(a-2*x)(b-2*x)*x,那么这是一个一元三次方程。脑子里突然跳出来一个三分法..用了三分真尼玛过了我现在还在惊吓之中,不理解...#include usingnamespacestd; #definelllonglong #defineullunsignedlonglong #definemod1000007 #defineinf0
azx736420641
·
2016-04-13 16:00
数学
lightoj
三分查找
lightoj
1294 - Positive Negative Sign 简单数学
给定n,m代表n个数字,每m个一次变换符号..先减再加,n是2m的倍数。其实对于1-m来言m+1-2m可以一一对应,差值都为m...那么n里面共有n/2对#include usingnamespacestd; #definelllonglong #defineullunsignedlonglong #definemod1000007 #defineinf0x3f3f3f3f #defineN100
azx736420641
·
2016-04-13 16:00
数学
乱搞
lightoj
lightoj
1214 - Large Division 大数对小数取余
给定一个200位的大数和一个int范围整数,问大数是否是小数的倍数。同之前的某到简单数学题#include usingnamespacestd; #definelllonglong #defineullunsignedlonglong #definemod1000007 #defineinf0x3f3f3f3f #defineN100100 usingnamespacestd; chars[300
azx736420641
·
2016-04-13 16:00
数学
乱搞
lightoj
lightoj
1179 - Josephus Problem 约瑟夫环
约瑟夫环问题,采取递推式求解....#include usingnamespacestd; #definelllonglong #defineullunsignedlonglong #definemod1000007 #defineinf0x3f3f3f3f #defineN100100 usingnamespacestd; inta[50]; intmain() { intt; scanf("%
azx736420641
·
2016-04-13 15:00
数学
lightoj
lightoj
1148 - Mad Counting 简单数学
统计人数,询问了n个人每个人都回答了除了自己外支持同一球队的其他人数是多少,问最小有多少人。统计每个数字出现多少次,有a[i]+1个人回答的一样可以刚好组成一个团体...如果有剩余的话也是一个新的团体。#include usingnamespacestd; #definelllonglong #defineullunsignedlonglong #definemod1000007 #definei
azx736420641
·
2016-04-13 15:00
数学
暴力
乱搞
lightoj
lightoj
1116 - Ekka Dokka 简单数学
给定一个w,问能否分解为一个奇数乘一个偶数...如果不能就是impossible,否则输出偶数最小的答案。偶数最小的情况就是把所有的2提取出来的...否则另外一个数字一定是偶数...#include usingnamespacestd; #definelllonglong #defineullunsignedlonglong #definemod1000007 #defineinf0x3f3f3f
azx736420641
·
2016-04-13 15:00
数学
乱搞
lightoj
lightoj
1078 - Integer Divisibility 暴力数学
给定一个n和x,问最少多少个x组成的数字可以整除n...直接暴力,依次枚举x的数量...因为没想到其他做法只能尝试暴力了..没想到过了。大概是如果有解的话余数最多出现n个...所以n次内必然有解?n*t貌似不超时#include usingnamespacestd; #definelllonglong #defineullunsignedlonglong #definemod1000007 #de
azx736420641
·
2016-04-13 15:00
数学
暴力
乱搞
lightoj
lightoj
1020 - A Childhood Game 简单博弈
给定n个石子,每个人可以取1或2个,A先取取完的人失败,B先取取完的人成功...刚开始没看到AB先手不同最后结果不同死活不过样例...简单的巴什博奕...#include usingnamespacestd; #definelllonglong #defineullunsignedlonglong #definemod1000007 #defineinf0x3f3f3f3f #defineN100
azx736420641
·
2016-04-13 15:00
数学
博弈
lightoj
lightoj
1008 - Fibsieve`s Fantabulous Birthday 乱搞
给定一个数字,输出其坐标,坐标从下往上从左往右递增...方法就如矩阵里面的。对于一个数字,如果是完全平方数就直接特判输出,非完全平方数的话可以判断出在第几层(半包围结构).第n层的元素有2n-1个。判断完层数可以得知起点终点的方式就知道如何输出。然后如果大于层数元素的一半,那么方式再次变化...其实方式就是层数到底是x坐标还是y坐标...#include usingnamespacestd; #d
azx736420641
·
2016-04-13 14:00
数学
乱搞
lightoj
lightoj
1043 - Triangle Partitioning 公式
因为是相似三角形,长度比的平方等于面积比...#include usingnamespacestd; #definelllonglong #defineullunsignedlonglong #definemod1000007 #defineinf0x3f3f3f3f #defineN100100 usingnamespacestd; intmain() { intt; scanf("%d",&t
azx736420641
·
2016-04-13 14:00
乱搞
lightoj
lightoj
1363 - Binary Matrix (II) 贪心
给定一个01矩阵,每次可以交换相邻两列的一个点或者相邻两行的一个点(第一行和最后一行也算相邻,同理列也是),问能否使矩阵变为以下三种情况之一:1.每行每列的1都相等2.每行的1都相等.3.每列的1都相等,或者不可能,对于前三种情况输出最小步数。判断的话先统计出来所有的1,如果1的个数是行数的倍数就是行可以,是列数的倍数就是列可以,同时成立就是第一种..那么判断完成立后我们需要找出来最小步数,因为是
azx736420641
·
2016-04-13 14:00
贪心
乱搞
lightoj
lightoj
1389 - Scarecrow 贪心
给定一个1*n的图,#代表坏的地,点代表庄稼,要放置稻草人防止乌鸦,一个稻草人可以保护本身和左右两端,问最少需要多少个稻草人。三个点为一组。遇到一个#可能的情况是前面的点数量是三的倍数,刚好不用管,余数为2,那么就必须要放置一个啦。余数为1..有可能的情况是.#.或者.##,其实不管什么情况都是要放置一个的,直接跳过下个点,不管是啥都行。我的代码最后要处理边界,其实在最后面加个#就可以不考虑边界了
azx736420641
·
2016-04-13 12:00
贪心
乱搞
lightoj
lightoj
1383 - Underwater Snipers 二分+贪心
y=k这条线代表河,敌人和狙击手分别在河岸两侧。有n个敌人在河上方,每个敌人的坐标给出,然后给出狙击手的射程d以及数量s,问狙击手最远距离河岸多远可以使得每个敌人至少可以被一个狙击手打种。如果抛开最远问狙击手数量的话,就和POJ某道贪心题一样了,区间覆盖那里面。假设我们知道距离的话我们可以通过判断放置狙击手数量来判定这个距离是否成立,那么距离就可以二分去判定,因为越远要的狙击手越多...#incl
azx736420641
·
2016-04-13 12:00
贪心
二分
lightoj
lightoj
1425 - The Monkey and the Oiled Bamboo 二分答案or乱搞
给定n个数字分别代表台阶高度,初始人在0,然后如果最大能跨越k步,如果跨越一次k步,那么k--,问最后能通过的最小k值是多少。一眼看去二分答案直接算...有一个简单办法,在找最大值的过程如果出现一个与最大值相同的数字,那么这个答案要+1...开始的时候以为初始在第一个台阶跪烂了...二分解法:#include usingnamespacestd; #definelllonglong #define
azx736420641
·
2016-04-12 13:00
贪心
二分
乱搞
lightoj
lightoj
1374 - Confusion in the Problemset 贪心
就是n个数字,问能否把这些数字放在合适的位置,每个位置的数字有两种含义:他前面有a[i]个数字或者他后面有a[i]个数字。对于大于n的数字来言都无效了...那么可以输出no了其实。其实对于一个位置来言,取第一种定义和第二种定义其实是没有区别的,因为是对称的...所以有啥取啥,不能取就是no。#include usingnamespacestd; #definelllonglong #defineu
azx736420641
·
2016-04-12 13:00
贪心
乱搞
lightoj
lightoj
1328 - A Gift from the Setter 贪心
给定k,c,n,a[0],自己构造出a数组,然后找出所有的abs(a[i]-a[j])(i usingnamespacestd; #definelllonglong #defineullunsignedlonglong #definemod1000007 #defineinf0x3f3f3f3f #defineN50100 usingnamespacestd; lla[120000]; intma
azx736420641
·
2016-04-12 12:00
乱搞
lightoj
lightoj
1301 - Monitoring Processes 贪心
给定n个任务,每个任务都有开始时间和结束时间,问要同时有多少台机器才能完成工作...开始以为直接排序用优先队列就好了没想到WA了,当时想到了一些BUG...万一结束时间晚的那个开始时间太早,每次找出来最小的结束来做任务会有BUG...然后考虑到任务看做线段来言,这个就是找出来一个点最多被覆盖多少次,那么这个题就成了某场BC的题目。有个姿势就是线段拆成两个端点,遇到起点+1,终点-1,找出来过程最大
azx736420641
·
2016-04-12 10:00
贪心
lightoj
lightoj
1017 - Brush (III)(dp)
1017-Brush(III) PDF(English)StatisticsForumTimeLimit: 2second(s)MemoryLimit: 32MBSamirreturnedhomefromthecontestandgotangryafterseeinghisroomdusty.Wholikestoseeadustyroomafterabrainstormingprogrammi
dml_96
·
2016-04-07 22:00
lightoj
1122 - Digit Count(dp)
TimeLimit: 2second(s)MemoryLimit: 32MBGivenasetofdigits S,andaninteger n,youhavetofindhowmany n-digitintegersarethere,whichcontaindigitsthatbelongto S andthedifferencebetweenanytwoadjacentdigitsisnotm
dml_96
·
2016-04-07 22:00
lightoj
1033 - Generating Palindromes(区间dp)
1033-GeneratingPalindromes PDF(English)StatisticsForumTimeLimit: 2second(s)MemoryLimit: 32MBBydefinitionpalindromeisastringwhichisnotchangedwhenreversed. "MADAM" isaniceexampleofpalindrome.Itisaneas
dml_96
·
2016-04-07 22:00
[
LightOJ
1292] Laser Shot (几何,判断共线)
LightOJ
-1292刚开始写的时候是O(n3log(n))的,枚举两个点,得到一条直线,用set记录下来,然后再O(n)地计数,居然没有卡过orz听了学长的教导,get到一个几何常用思路,正确解法如下枚举一个点
u012015746
·
2016-04-07 21:00
lightoj
[POJ 3764] The xor-longest Path (Tire树 + 贪心)
把根到任意点的路径的异或和求出来xorv[i]由异或的性质可得点u和点v的异或和即为xorv[u]^xorv[v](根到两点LCA的异或和会消去)然后问题就转化成在区间内找两个值,使得他们的异或和最大与
LightOJ
u012015746
·
2016-04-07 20:00
poj
lightoj
1013 - Love Calculator 【LCS 变形】
题目链接:
lightoj
1013-LoveCalculator1013-LoveCalculatorPDF(English)StatisticsForumTimeLimit:2second(s)MemoryLimit
chenzhenyu123456
·
2016-04-07 18:00
lightoj
1004 - Monkey Banana Problem 【dp】
题目链接:
lightoj
1004-MonkeyBananaProblem1004-MonkeyBananaProblemPDF(English)StatisticsForumTimeLimit:2second
chenzhenyu123456
·
2016-04-07 17:00
LightOj
1220 Fantasy of a Summation(快速幂)
FantasyofaSummationDescriptionIfyouthinkcodes,eatcodesthensometimesyoumaygetstressed.Inyourdreamsyoumayseehugecodes,asIhaveseenonce.HereisthecodeIsawinmydream.#includeint cases, caseno;int n, K, MOD;i
piaocoder
·
2016-04-05 21:00
LightOJ
1282 - Leading and Trailing (求n^k的前三位和后三位)
1282-LeadingandTrailing PDF(English)StatisticsForumTimeLimit:2second(s)MemoryLimit:32MBYouaregiventwointegers:nandk,yourtaskistofindthemostsignificantthreedigits,andleastsignificantthreedigitsofnk.Inp
helloiamclh
·
2016-04-04 18:00
Lightoj
1254 Prison Break
【题目】点击打开链接,密码acm2016【题意】n个点m条边的有向图,q次询问c,s,t,表示汽车邮箱容量为c,求从起点s到终点t的最小费用。汽车在每个点可以加任意的油,每个点的油价为a[i]。【题目分析】优先队列的Dij,每个节点保存还剩下的油量fuel和到当前为止所用的花费,dis[i][j]表示在i点油量还剩下j的费用最小值。注意,每次入队列不要一次性把所有符合的油量全部入队列,比如u->v
just_sort
·
2016-04-04 15:00
LightOJ
1138 - Trailing Zeroes (III) (求末尾0为x的最小N---二分)
1138-TrailingZeroes(III) PDF(English)StatisticsForumTimeLimit:2second(s)MemoryLimit:32MBYoutaskistofindminimalnaturalnumberN,sothatN!containsexactlyQzeroesonthetrailindecimalnotation.AsyouknowN!=1*2*.
helloiamclh
·
2016-04-03 16:00
[置顶] 矩阵快速幂专题(二)
建议以后刷
Lightoj
的朋友们做好心理准备,那上面的题目都非常坑,我以前做过一道最小生成树,就TLE了我整整一下午,没想到这次一道矩阵快速幂又是一下午,唉~~~,心累。
shengtao96
·
2016-04-02 23:00
矩阵
快速幂
lightoj
1011 - Marriage Ceremonies(状态压缩dp)
TimeLimit: 2second(s)MemoryLimit: 32MBYouworkinacompanywhichorganizesmarriages.Marriagesarenotthateasytobemade,so,thejobisquitehardforyou.Thejobgetsmoredifficultwhenpeoplecomehereandgivetheirbio-dataw
dml_96
·
2016-04-02 12:00
lightoj
1005 ROOKS(组合数)
Arookisapieceusedinthegameofchesswhichisplayedonaboardofsquaregrids.Arookcanonlymoveverticallyorhorizontallyfromitscurrentpositionandtworooksattackeachotherifoneisonthepathoftheother.Inthefollowingfig
dml_96
·
2016-04-01 21:00
LightOJ
1090 - Trailing Zeroes (II) (求式子结果0的个数)
1090-TrailingZeroes(II) PDF(English)StatisticsForumTimeLimit:2second(s)MemoryLimit:32MBFindthenumberoftrailingzeroesforthefollowingfunction:nCr*pqwheren,r,p,qaregiven.Forexample,ifn=10,r=4,p=1,q=1,the
helloiamclh
·
2016-03-30 21:00
Light Oj 1044 - Palindrome Partitioning(回文串)
http://
lightoj
.com/volume_showproblem.php?
w144215160044
·
2016-03-30 21:00
LightOJ
1197 - Help Hanzo (模拟筛素法区间筛素)
1197-HelpHanzo PDF(English)StatisticsForumTimeLimit:2second(s)MemoryLimit:32MBAmakusa,theevilspiritualleaderhascapturedthebeautifulprincessNakururu.ThereasonbehindthisishehadalittleproblemwithHanzoHat
helloiamclh
·
2016-03-30 20:00
lightoj
1126 - Building Twin Towers DP
给定n个数字,然后选择一些数字分成两堆,这两堆的和相等,求最大的和...首先求一下所有数字的和...那么最后结果肯定小于等于sum/2。然后范围50W...那么肯定滚动数组先,然后两数字的差当做第二维...两数字的差要修正一下范围100W,遍历也要100W..然而可以并不需要,因为我们可以dp[i][j]代表选择前i个数字后两数字相差为j的最大值,那么最大值减去差值就是最小值。如果最小值加了某个数
azx736420641
·
2016-03-30 15:00
dp
乱搞
lightoj
lightoj
1125 - Divisible Group Sums 01背包变形
给定一个n,q以及n个数字,代表有q次询问,每次询问一个d,m,选择m个数字(不可重复选)组成集合是d的倍数有多少种方法q比较小可以先不考虑...对于一个数字选与不选就构成01背包...选择了多少个数字当做背包体积吧...因为要求方案数,所以不能拿余数当做价值了...得另外再开一维当做余数,那么选了确定x个数字后余数是多少也要顺便枚举一下吧...注意,01背包的滚动数组体积那重循环是逆向的,所以选
azx736420641
·
2016-03-30 14:00
dp
01背包
lightoj
lightoj
1122 - Digit Count 简单DP
给定m个数字(范围1-9)和一个n,问能组成一个n位且相邻两位数字差值小于2的数字有多少个?当然看完题就愣了,因为前面的题很难啊...难道是数位DP?按捺下怀疑的心情写完AC心情很复杂...dp[i][j]代表排好了前i位最后一位是第j个数字有多少种方法,所以对于下一个数字的添加,要判断和最后一位数字差值是否小于2...三重循环,范围只有10嘛...#include usingnamespaces
azx736420641
·
2016-03-30 13:00
dp
lightoj
lightoj
1110 - An Easy LCS 最长公共子序列输出路径
给定两个字符串,求两个串的最长公共子序列,输出字典序最小的子序列...如果是spj那么难度低了一半...大概开个三维,dp[i][j]能代表个字符串..第三维有用的其实就是最后要不要加个字符,那么就是长度有用了,所以不需要遍历第三维...选择的时候顺便复制过去字符串就好了。我觉得用string来做比char来做方便多了#include usingnamespacestd; #definelllon
azx736420641
·
2016-03-30 12:00
dp
lcs
lightoj
lightoj
1095 - Arrange the Numbers 组合数学
给定n,m,k,n个数字中前m个数字有k个数字位置定下来,问有多少种排列方式..这种组合数学是我最不擅长的,虽然挂在DP专题里但是想不来怎么DP。感觉就是先有一个c(m,k)..然后就是队友辅助推导了公式..#include usingnamespacestd; #definelllonglong #definemod1000000007 llyh[1200][1200]; lld[1200];
azx736420641
·
2016-03-30 09:00
数学
组合数学
lightoj
lightoj
1105 - Fi Binary Number 水
就是二进制的斐波那契数...很容易看懂...这题看有人用数位DP做,感觉其实没那个必要,仔细观察前十个就会发现,其实就是一个数字分解成几个斐波那契的和..有那个数字的是1,没有的是0...至于为何不能相邻,因为相邻的两个斐波那契数就会合成为下一个...所以没有相邻的..#include usingnamespacestd; #definelllonglong llf[60]; intmain()
azx736420641
·
2016-03-30 09:00
水
乱搞
lightoj
lightoj
1084 - Winter DP
有n个人在坐标轴上,每个人最多走k米,如果三个人及其以上在同一个点就能靠近取暖?(百度翻译),否则不行...问最少有几个取暖集体..有落单的就是-1其实就是找到一个集合点,那么能招揽过来的尽量招揽,但是有可能,边上一个不能招揽...那么为了不至于是-1的情况你要分给他一些人啊..最多分俩过去就好了,分少了下个集合点可能还离这个集合点远点,分多了变近了不好...对于一个集合点的确定,加入可以确定一个
azx736420641
·
2016-03-29 19:00
dp
lightoj
上一页
6
7
8
9
10
11
12
13
下一页
按字母分类:
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
其他