51nod
WINDZLY
我不知道最后会得到什么样的结果,但我知道不努力我什么也得不到
展开
-
51nod 1279 扔盘子
有一口井,井的高度为N,每隔1个单位它的宽度有变化。现在从井口往下面扔圆盘,如果圆盘的宽度大于井在某个高度的宽度,则圆盘被卡住(恰好等于的话会下去)。盘子有几种命运:1、掉到井底。2、被卡住。3、落到别的盘子上方。盘子的高度也是单位高度。给定井的宽度和每个盘子的宽度,求最终落到井内的盘子数量。如图井和盘子信息如下:井:5 6 4 3 6 2 3盘子:2 3 5 2 4最终有4个盘子落在井内。本题由...原创 2018-05-15 23:49:13 · 176 阅读 · 0 评论 -
1069 Nim游戏 (博弈论)
有N堆石子。A B两个人轮流拿,A先拿。每次只能从一堆中取若干个,可将一堆全取走,但不可不取,拿到最后1颗石子的人获胜。假设A B都非常聪明,拿石子的过程中不会出现失误。给出N及每堆石子的数量,问最后谁能赢得比赛。例如:3堆石子,每堆1颗。A拿1颗,B拿1颗,此时还剩1堆,所以A可以拿到最后1颗石子。Input第1行:一个数N,表示有N堆石子。(1 <= N <= 100...原创 2018-05-30 19:35:41 · 224 阅读 · 0 评论 -
51nod 1183 编辑距离(线性dp)
1183 编辑距离 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注编辑距离,又称Levenshtein距离(也叫做Edit Distance),是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。例如将kitten一字转成sitting:sitten (...原创 2018-07-21 16:39:45 · 179 阅读 · 0 评论 -
51nod 1596 搬货物
1596 搬货物 题目来源: CodeForces基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 收藏 关注现在有n个货物,第i个货物的重量是 2wi 。每次搬的时候要求货物重量的总和是一个2的幂。问最少要搬几次能把所有的货物搬完。样例解释:1,1,2作为一组。3,3作为一组。 Input单组测试数据。第一行有一个...原创 2018-08-02 21:48:19 · 147 阅读 · 0 评论 -
51nod 1649 齐头并进 (dijkstra)
两次最短路找最大值;#pragma GCC optimize(2)#include <bits/stdc++.h>#define maxn 405typedef long long ll;using namespace std;ll a[maxn][maxn];ll b[maxn][maxn];ll mo = 1e18;ll dis[maxn];l...原创 2018-09-11 20:53:31 · 175 阅读 · 0 评论 -
【51nod】1109 01组成的N的倍数
题目链接http://www.51nod.com/Challenge/Problem.html#!#problemId=1109思路广搜,首先将1入队列,然后后面就是 + 0 或者 + 1;将余数标记,因为余数相同就不会是最小的(这步相当于剪枝)#pragma GCC optimize(2)#include <iostream>#include <qu...原创 2019-03-09 00:07:36 · 137 阅读 · 0 评论 -
51nod 1391 01串
题目链接https://www.51nod.com/Challenge/Problem.html#!#problemId=1391发散思维(Why and Zjp tql %Zjp and Why)相信每个人看了这道题都会有思路:从当前位置向左找最大匹配位置,从当前位置从后找最大匹配位置(原谅我太垃圾只能想出o(n^2)的算法)我们可以把0当成-1,把1当成1,这样求下前缀和...原创 2019-03-20 17:04:10 · 200 阅读 · 0 评论 -
1163 最高的奖励
题目链接:https://www.51nod.com/Challenge/Problem.html#!#problemId=1163十分有意思的一道经典贪心思路:我们按照结束时间来进行排序,如果当前时间大于用过的时间就将这个奖励加入其中,如果大于我们就将其中做过的最小的奖励替换掉(时间复杂度(o(nlogn)#include <bits/stdc++.h> using...原创 2019-03-22 18:53:29 · 208 阅读 · 0 评论 -
51nod 2487 小b和环
题目链接:https://www.51nod.com/Challenge/Problem.html#!#problemId=2487公式推一下,233分为两个dp一个是选a[1]不选a[n]和a[2];另外一个是不选a[1],注意特判n == 1的情况代码如下#include <bits/stdc++.h>#define endl '\n'typed...原创 2019-06-01 19:52:43 · 208 阅读 · 0 评论 -
51nod 1113 矩阵快速幂
矩阵快速幂板子#include <bits/stdc++.h>typedef long long ll;typedef long long ld;using namespace std;const ll maxn = 1e5 + 7;ll n,m;struct node{ //矩阵 ll matrix[105][105];};//矩阵乘法 no...原创 2018-05-21 18:37:04 · 129 阅读 · 0 评论 -
51nod 1134 最长递增子序列
1134 最长递增子序列 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注给出长度为N的数组,找出这个数组的最长递增子序列。(递增子序列是指,子序列的元素是递增的)例如:5 1 6 8 2 4 5 10,最长递增子序列是1 2 4 5 10。Input第1行:1个数N,N为序列的长度(2 <= N <= 500...原创 2018-04-25 20:45:19 · 166 阅读 · 0 评论 -
数论51nod1058 N的阶乘的长度
1058 N的阶乘的长度 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 输入N求N的阶乘的10进制表示的长度。例如6! = 720,长度为3。 Input 输入N(1...原创 2018-04-23 23:26:12 · 258 阅读 · 0 评论 -
容斥原理51nod1284 2 3 5 7的倍数
离散数学//详细解释https://baike.sogou.com/v180264.htm?fromTitle=%E5%AE%B9%E6%96%A5%E5%8E%9F%E7%90%86##s4A∪B∪C∪D=|A|+|B|+|C|+|D| - |A∩B| - |B∩C| - |C∩A|- |A∩D| - |B∩D| - |C∩D| +|A∩...原创 2018-04-20 23:15:34 · 333 阅读 · 0 评论 -
51nod1089 最长回文子串 V2(Manacher算法)
拉马车算法:传送(这里有详细解释);1089 最长回文子串 V2(Manacher算法) 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注回文串是指aba、abba、cccbccc、aaaa这种左右对称的字符串。输入一个字符串Str,输出Str里最长回文子串的长度。Input输入Str(Str的长度 <= 100000...原创 2018-05-02 13:39:02 · 254 阅读 · 0 评论 -
51nod 1256 乘法逆元
给出2个数M和N(M < N),且M与N互质,找出一个数K满足0 < K < N且K * M % N = 1,如果有多个满足条件的,输出最小的。Input输入2个数M, N中间用空格分隔(1 <= M < N <= 10^9)Output输出一个数K,满足0 < K < N且K * M % N = 1,如果有多个满足条件的,输出最...原创 2018-05-16 23:20:41 · 178 阅读 · 0 评论 -
51nod 1021 石子归并
题目链接https://www.51nod.com/Challenge/Problem.html#!#problemId=1021这道题是一道经典的区间dp题,我们用dp[i][j]表示i到j的区间最小合并然后地推公式dp[j][i] = min(dp[j][i],dp[j][k] + dp[k + 1][i] + sum[i] - sum[j - 1]);代码如下#includ...原创 2019-06-02 00:06:23 · 131 阅读 · 0 评论