算法
如果名字不长一点ta就老说名字已存在
这个作者很懒,什么都没留下…
展开
-
nyoj1311勤奋的涟漪
勤奋的涟漪 时间限制:1000 ms | 内存限制:65535 KB 难度:1 描述涟漪每天都会到工一的实验室(7楼)学习,一天去三次。工一有两部电梯,其中有一部电梯每隔x天维修一次,(维修期间,电梯一整天都不工作),另一部电梯每隔y天维修一次,如果同一天两部楼梯都在维修期间,涟漪只能爬楼梯,他想知道从第1天到第n天一共走了多少层楼梯?(设第0天两部电梯都在维修)原创 2016-12-09 22:54:05 · 1941 阅读 · 0 评论 -
nyoj1180Maze
题目链接: http://acm.nyist.net/JudgeOnline/problem.php?pid=1180 题目大意:有个迷宫,@代表你所在位置,字符 . 表示可走,#表示不可走,问在一个地图中能到达的 . 有多少个。 值得注意的是,也要算在内。 思路:bfs,dfs应该都可以,本人用的bfs。 AC代码: #include #include char原创 2017-01-20 16:28:23 · 1575 阅读 · 0 评论 -
nyoj971爬行的蚂蚁
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=971 或者:http://115.159.40.116/problem_show.php?pid=5532 题目大意:在一根长L的竿子上有N只蚂蚁,朝向未定,知道每只蚂蚁在竿上的坐标Xi,爬行时两只蚂蚁相遇时掉头。 求所有蚂蚁都爬下竿的最短时间与最长 时间。 思路(本人原创 2017-01-20 22:21:34 · 3142 阅读 · 0 评论 -
nyoj985带通配符的数
题目链接: http://acm.nyist.net/JudgeOnline/problem.php?pid=985 或者:http://115.159.40.116/problem_show.php?pid=5545 描述 给定一个带通配符问号的数W,问号可以代表任意一个一位数字。 再给定一个整数X,和W具有同样的长度。 问有多少个整数符合W的形式并且比X大?原创 2017-01-21 12:47:33 · 1796 阅读 · 0 评论 -
nyoj7街区最短路径问题
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=7 或者:http://115.159.40.116/problem_show.php?pid=4619 感觉像是nyoj1310郊游 的进化版,两题思路一样的(个人观点,我是用的同一种方法) 描述小明有很多个朋友,他们在家分别分布在 x 轴上的不同位置。有一天,他们想一起出去郊游,原创 2017-01-25 22:34:34 · 4018 阅读 · 2 评论 -
nyoj117求逆序数 并归排序法
题目链接:http://115.159.40.116/problem_show.php?pid=4729 或者:http://acm.nyist.net/JudgeOnline/problem.php?pid=117 求逆序数 时间限制:2000 ms | 内存限制:65535 KB 难度:5 描述 在一个排列中,如果一对数的前后位置与大小顺序相反,即前原创 2017-02-24 20:42:10 · 1612 阅读 · 0 评论 -
nyoj36最长公共子序列 动态规划
题目链接:http://115.159.40.116/problem_show.php?pid=4648 http://acm.nyist.net/JudgeOnline/problem.php?pid=36 题目描述 咱们就不拐弯抹角了,如题,需要你做的就是写一个程序,得出最长公共子序列。 tip:最长公共子序列也称作最长公共子串(不要求连续),英文缩写为LCS(Longes原创 2017-02-25 08:39:50 · 3555 阅读 · 1 评论 -
nyoj841最高位数字
题目链接:http://115.159.40.116/problem_show.php?pid=5409 http://acm.nyist.net/JudgeOnline/problem.php?pid=841 题目描述 求N^N的个位数字大家应该都会了,可是,N^N的最高位数字你会求吗? 输入 多组测试数据。 每组数据输入一个正整数N(N≤1,000,000,原创 2017-02-25 14:38:22 · 1751 阅读 · 0 评论 -
nyoj1170最大的数
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=1170 http://115.159.40.116/problem_show.php?pid=5696 题目描述 小明和小红在打赌说自己数学学的好,于是小花就给他们出题了,考考他们谁NB,题目是这样的给你N个数 在这n个数之间添加N-1个*或+,使结果最大,但不可以打乱原顺原创 2017-02-25 21:45:41 · 1944 阅读 · 0 评论 -
nyoj1121周期串
题目链接:http://115.159.40.116/problem_show.php?pid=5661 http://acm.nyist.net/JudgeOnline/problem.php?pid=1121 题目描述 一个字符串可以由长度为k的字符串重复多次得到,我们说该串以k为周期,例如abcabcabcabc 以3为最小周期(注意它也可以以6和12为周期) 我们输入一个原创 2017-02-26 11:56:48 · 1784 阅读 · 0 评论 -
nyoj116士兵杀敌2
题目链接:士兵杀敌2 链接二 解法线段树,线段树有些像是特殊的二叉平衡树,不知道的可以搜搜二叉平衡树,可能并没有你想象中的那样难。 AC代码: #include #include struct node{ int data, min, max, mid;//由min、max得到mid,小于mid的部分在左子树,大于mid的部分都在右子树。 node *leftchild, *rig原创 2017-03-29 16:35:05 · 2210 阅读 · 0 评论 -
nyoj123士兵杀敌4-树状数组-改区间查点
士兵杀敌(四) 时间限制:2000 ms | 内存限制:65535 KB 难度:5 描述 南将军麾下有百万精兵,现已知共有M个士兵,编号为1~M,总会有一批编号连在一起人请战,最终他们获得相同军功,军师小工的任务就是在南将军询问他某个人的军功的时候,快速的报出此人的军功,请你编写一个程序来帮助小工吧。起始时所有人的军功都是0。 输入 只有一组测试数据。 每原创 2017-03-30 15:11:40 · 1720 阅读 · 0 评论 -
nyoj543遥控器
题目链接:nyoj543遥控器 或者nsoj5138遥控器题目描述与生活中使用遥控器的境况基本一致,此处不再累述。我的思路:从x频道转到y频道有两种方法,取两者按键次数少者转频道方法1、直接按↑up键、↓down键(前提是该键可用),此时需比较从x频道到y频道按up与down按键次数。比如x = 1,y = 98这种情况显然就是按down时次数少。转频道方法2、x频道先跳转到中间频道z,再按↑u...原创 2018-02-01 12:44:18 · 350 阅读 · 0 评论 -
leetcode之Climbing Stairs爬楼梯
题目链接中文版题目链接昨夜走在校园的小路上,灵感乍现,突然明白了为什么刚好是斐波那契数列可解此题。普通思维:走第一步时有两种情况,走一个台阶,或两个台阶;走第二步时,第一步时的两种情况中又分别有两种情况;如此递归......最多走n步即可,所有情况为2^n次;然后找出少于或等于n步时经过台阶数也刚好为n个的数量即为所求。(为什么走n步即可?考虑到每步都只走一个台阶情况!)代码如下:int N; i...原创 2018-03-20 08:46:39 · 279 阅读 · 0 评论 -
leetcode之Tow Sum两数之和的三种思路
1.双重循环,最基本的方法,速度慢O(n^2),但无需新空间。public int[] twoSum(int[] nums, int target) { for (int i = 0; i < nums.length; i++) { int temp = target - nums[i]; for (int j = i + 1; j < nums...原创 2018-05-09 15:50:31 · 586 阅读 · 0 评论 -
leetcode之Valid Sudoku有效的数独(一步步改进代码)
题目链接:Valid Sudoku有效的数独题目已经十分确定的说了只有1~9,因此标记法无疑是非常好的选择。基本思路:对行、列、小数独块分别用一个size为9的数组来标记数字1~9在本行(列/块)中是否已使用。根据思路则不难写出下面的代码: public static int startIndex = 0; public static int sudokuSize = 9; publ...原创 2018-05-10 13:28:53 · 1116 阅读 · 2 评论 -
nyoj1306海拔
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=1306 题目意思很清楚比如有一个序列n=7,1 2 3 4 5 6 7 按1 2 3 7 6 5 4的格式输出就行了 AC代码: #include #include using namespace std; int main() { int t, n, i, a[原创 2017-01-20 16:21:34 · 1483 阅读 · 0 评论 -
nyoj1057寻找最大数3
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=1057 或者:http://115.159.40.116/problem_show.php?pid=5608 寻找最大数(三) 描述 给出一个整数N,每次可以移动2个相邻数位上的数字,最多移动K次,得到一个新的整数。 求这个新的整数的最大值是多少。原创 2017-01-19 22:26:27 · 1533 阅读 · 0 评论 -
nyoj676小明的求助
题目链接 http://acm.nyist.net/JudgeOnline/problem.php?pid=676 题目大意:给三个数N(1~10^10),P(1~10^15),M(1~9) ,求N的P次方的后M位数字。 思路:后M位数实际上就是%(pow(10,M))。 我令M=pow(10,M) 则N^2%M=(N%M*N%M)%M,这个公式可推广到N^P,这样做是为了防止原创 2017-01-18 20:12:48 · 3532 阅读 · 2 评论 -
nyoj487点数
点数 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述在一个二维的坐标系内有三个点,这三个点构成一个三角形,请你求出这个三角形内部和边界上的坐标点一共有多少个。 输入 输入三个整数点,坐标x,y均为1~99的整数。注意:程序以文件结束符“EOF”结束输入。 输出 按要求输出点的个数,每个点占一行. 样例输入 0 0 0 1 3 0原创 2016-12-11 21:35:48 · 1370 阅读 · 0 评论 -
nyoj68三点顺序
三点顺序 时间限制:1000 ms 给你不共线的三个点A,B,C的坐标,,现在让你判断A,B,C是顺时针给出的还是逆时针给出的? 图1:顺时针给出 图2:逆时针给出 输入 每行是一组测试数据,有6个整数x1,y1,x2,y2,x3,y3分别表示A,原创 2016-12-06 12:12:42 · 3481 阅读 · 1 评论 -
nyoj359Delete it
Delete it 时间限制:2000 ms | 内存限制:65535 KB 难度:2 描述 克林在打一行字母时总是会打多一个字符,比如想打”july”时会打成”juuly”,这样他需要删掉其中一个’u’。 克林想知道他可以删掉哪个位置的字符就可以变成他真正想打的一行字母。 输入第一行一个整数:T (测试个数) 每个测试 输入两行,两个字原创 2016-12-06 22:09:49 · 1472 阅读 · 0 评论 -
nyoj496巡回赛-拓扑排序-拓扑序列
巡回赛 时间限制:1000 ms | 难度:3 描述N 名拳击手进行了 M 场比赛,每场赛均可分出胜负,赛后对 N 名选手进行排序,对于每名拳手,必须满足该拳手所战胜过的对手全部排在其后才能对该排名满意。 现给出 M 场比赛的胜负关系,请你帮组委会决定是否能够唯一确定这样的排名,使得所有的拳击手都满意,若能唯一确定则输出最终排名。 输入 第一行给出测试数据的组数 T(原创 2016-12-07 12:15:50 · 3306 阅读 · 1 评论 -
nyoj1047欧几里得
欧几里得 时间限制:1000 ms 描述 已知gcd(a,b)表示a,b的最大公约数。 现在给你一个整数n,你的任务是在区间[1,n)里面找到一个最大的x,使得gcd(x,n)等于1。 输入 输入文件的第一行是一个正整数T,表示有T组测试数据 接下来有T行,每行有一个正整数n (1 输出 每组测试输出要求x。 样例输入 2 4 7 样例输原创 2016-12-08 21:03:45 · 1390 阅读 · 0 评论 -
nyoj66分数拆分
分数拆分 时间限制:3000 ms | 内存限制:65535 KB 难度:1 描述 现在输入一个正整数k,找到所有的正整数x>=y,使得1/k=1/x+1/y. 输入 第一行输入一个整数n,代表有n组测试数据。 接下来n行每行输入一个正整数k 输出 按顺序输出对应每行的k找到所有满足条件1/k=1/x+1/y的组合 样例输入 2 2 12原创 2016-12-08 22:48:42 · 1289 阅读 · 0 评论 -
nyoj3533D dungeon
3D dungeon 时间限制:1000 ms | 内存限制:65535 KB 难度:2 输入 The input consists of a number of dungeons. Each dungeon description starts with a line containing three integers L, R and C (all limited to原创 2016-12-09 21:55:49 · 1457 阅读 · 0 评论 -
nyoj878格点
思路一,代码多,思路简单,time 88ms 思路二,代码少,思路比思路一难一点,time 48ms原创 2016-12-25 10:33:01 · 1269 阅读 · 0 评论 -
nyoj1228矩形判断
描述给出平面上4条线段,判断这4条线段是否恰好围成一个面积大于0的矩形。输入输入第一行是一个整数T(1<=T<=100),代表测试数据的数量。每组数据包含4行,每行包含4个整数x1, y1, x2, y2 (-100000 <= x1, y1, x2, y2 <= 100000);其中(x1, y1), (x2,y2)代表一条线段的两个端点。输出每组数据输出一行YES或者N...原创 2016-12-25 16:41:28 · 1501 阅读 · 0 评论 -
nyoj655光棍的yy
光棍的yy 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 yy经常遇见一个奇怪的事情,每当他看时间的时候总会看见11:11,这个很纠结啊。 现在给你m个1,你可以把2个1组合成一个2,这样就不是光棍了,问这样的组合有多少种?? 例如(111 可以拆分为 111 12 21 有三种) 输入 第一行输入一个n表示有n个原创 2016-12-20 19:18:28 · 3476 阅读 · 2 评论 -
nyoj239月老的难题
月老的难题 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 月老准备给n个女孩与n个男孩牵红线,成就一对对美好的姻缘。 现在,由于一些原因,部分男孩与女孩可能结成幸福的一家,部分可能不会结成幸福的家庭。 现在已知哪些男孩与哪些女孩如果结婚的话,可以结成幸福的家庭,月老准备促成尽可能多的幸福家庭,请你帮他找出最多可能促成的幸福家庭数量原创 2017-01-16 13:34:13 · 1225 阅读 · 0 评论 -
nyoj990蚂蚁感冒
//其实遇到返回和遇到穿过是一样的 //既然要相遇穿过,那与蚂蚁方向相反且在它前面的就会感染 //而前面那些又会感染与之方向相反且在它前面的(与原先蚂蚁同方向,在它后面的) //注意特殊情况 #include int myabs(int m) { return m >= 0 ? m : -m; } int main() { int i, n, t, f, a[102] = {原创 2017-01-16 13:39:39 · 1202 阅读 · 0 评论 -
nyoj680摘枇杷
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=680 或者:http://115.159.40.116/problem_show.php?pid=5264 题目大意就是将n个数组成的一列,分成m份,使m份中最大的那份中所有数的和尽量小,如下例: n=7 m=5 数据为: 1 4 3 1 5 2 4 答案: 5 分原创 2017-01-17 12:13:05 · 1547 阅读 · 0 评论 -
nyoj1307Linux的文件权限对不对
题目链接http://acm.nyist.net/JudgeOnline/problem.php?pid=1307 Linux的文件权限对不对? 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 数字与权限表示的对应关系如下(注意没有 --- = 0 的对应关系) r-- = 4 -w- = 2 --x = 1 rw-原创 2017-01-17 13:58:21 · 1581 阅读 · 0 评论 -
nyoj42一笔画问题
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=42 或者:http://115.159.40.116/problem_show.php?pid=4654 题目大意:为欧拉通路 或 欧拉回路 即符合条件(个人观点,测试数据也可说明我的观点。如有错误还望读者指正) 即此题为1.无向图的欧拉通路 与 2.无向图的欧拉回路判断 1原创 2017-01-18 13:27:23 · 1631 阅读 · 0 评论 -
leetcode之Count and Say报数
题目链接:Count and Say报数一开始试图找规律,直接写了个简单粗暴的代码,跑起来好像没发现规律。试着提交居然过了,但是速度比较慢,就改进了下代码。按题意来的简单粗暴的代码如下:public String countAndSay(int n) { List<Integer> arr = new ArrayList<Integer>(); List&l...原创 2018-05-11 15:39:44 · 341 阅读 · 0 评论