ACM
文章平均质量分 69
一入AC深似海
日月人云
这个作者很懒,什么都没留下…
展开
-
51NOD1008 N的阶乘 mod P
1008 N的阶乘 mod P 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注输入N和P(P为质数),求N! Mod P = ? (Mod 就是求模 %)例如:n = 10, P = 11,10! = 36288003628800 % 11 = 10Input两个数N,P,中间用空格隔开。(N < 10000, P ...原创 2018-08-05 11:58:35 · 197 阅读 · 0 评论 -
51NOD1005 大数加法
1005 大数加法 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注给出2个大整数A,B,计算A+B的结果。Input第1行:大数A第2行:大数B(A,B的长度 <= 10000 需注意:A B有可能为负数)Output输出A + BInput示例68932147586468711654886Ou...原创 2018-08-06 17:01:34 · 219 阅读 · 0 评论 -
51nod1027 大数乘法(java)
1027 大数乘法 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注给出2个大整数A,B,计算A*B的结果。Input第1行:大数A第2行:大数B(A,B的长度 <= 1000,A,B >= 0)Output输出A * BInput示例123456234567Output示例28958...原创 2018-08-06 17:06:41 · 123 阅读 · 0 评论 -
51NOD1028 大数乘法 V2 (Java)
1028 大数乘法 V2 基准时间限制:2 秒 空间限制:131072 KB 分值: 80 难度:5级算法题 收藏 关注给出2个大整数A,B,计算A*B的结果。Input第1行:大数A第2行:大数B(A,B的长度 <= 100000,A,B >= 0)Output输出A * BInput示例123456234567Output示例...原创 2018-08-06 17:09:30 · 131 阅读 · 0 评论 -
51nod1029 大数除法
1029 大数除法 基准时间限制:4 秒 空间限制:131072 KB 分值: 160 难度:6级算法题 收藏 关注给出2个大整数A,B,计算A / B和A Mod B的结果。Input第1行:大数A第2行:大数B(A,B的长度 <= 100000,A,B >= 0)Output第1行:A / B第2行:A Mod B (A % B)Inp...原创 2018-08-06 17:17:17 · 254 阅读 · 0 评论 -
容斥原理及应用
翻译:vici@cust对容斥原理的描述容斥原理是一种重要的组合数学方法,可以让你求解任意大小的集合,或者计算复合事件的概率。描述 容斥原理可以描述如下: 要计算几个集合并集的大小,我们要先将所有单个集合的大小计算出来,然后减去所有两个集合相交的部分,再加回所有三个集合相交的部分,再减去所有四个集合相交的部分,依此类推,一直计算到所有集合相交的部分。...转载 2018-08-02 19:18:10 · 10467 阅读 · 1 评论 -
51nod1284
1284 2 3 5 7的倍数 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题 收藏 关注 取消关注给出一个数N,求1至N中,有多少个数不是2 3 5 7的倍数。 例如N = 10,只有1不是2 3 5 7的倍数。Input输入1个数N(1 <= N <= 10^18)。Output输出不是2 3 5 7的倍数的...原创 2018-08-02 19:34:35 · 257 阅读 · 0 评论 -
51NOD1130斯特林近似
题目告诉你了用斯特林近似斯特林近似:斯特林公式传送门#include<iostream>#include<cstdio>#include<cmath>const double Pi=3.14159265358979323846264338328;const double E=2.71828182845904523536029;using ...原创 2018-08-05 10:58:33 · 182 阅读 · 0 评论 -
51NOD1137矩阵乘法
矩阵乘法,知道矩阵相乘的运算过程就能写出来#include<iostream>#include<cstdio>#include<cstring>using namespace std;int n;struct mat{ int num[110][110];};mat a,b,c;mat mult(){ for(int i=0;...原创 2018-08-05 15:54:56 · 101 阅读 · 0 评论 -
51NOD1113矩阵快速幂
上zyj学姐的矩阵快速幂模板#include<iostream>#include<cstdio>#include<cstring>#define MAXN 111#define mod(x) ((x) % MOD)#define MOD 1000000007#define LL long longusing namespace std;...原创 2018-08-05 16:03:03 · 154 阅读 · 0 评论 -
51NOD1242斐波那契数列的第N项 (矩阵快速幂)
#include<iostream>#include<cstdio>#include<algorithm>using namespace std;const int mod = 1e9 + 9;long long n;struct Matrix{ long long v[2][2];};Matrix Matrix_mul(...原创 2018-08-06 11:00:41 · 133 阅读 · 0 评论 -
51NOD1106 质数检测
基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注给出N个正整数,检测每个数是否为质数。如果是,输出"Yes",否则输出"No"。Input第1行:一个数N,表示正整数的数量。(1 <= N <= 1000)第2 - N + 1行:每行1个数(2 <= S[i] <= 10^9)Output输出共N行,...原创 2018-08-06 16:47:44 · 140 阅读 · 0 评论 -
51NOD1046 A^B Mod C(快速幂)
1046 A^B Mod C 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注给出3个正整数A B C,求A^B Mod C。例如,3 5 8,3^5 Mod 8 = 3。Input3个正整数A B C,中间用空格分隔。(1 <= A,B,C <= 10^9)Output输出计算结果Input示例...原创 2018-08-06 19:02:09 · 135 阅读 · 0 评论 -
P1007独木桥
题目背景战争已经进入到紧要时间。你是运输小队长,正在率领运输部队向前线运送物资。运输任务像做题一样的无聊。你希望找些刺激,于是命令你的士兵们到前方的一座独木桥上欣赏风景,而你留在桥下欣赏士兵们。士兵们十分愤怒,因为这座独木桥十分狭窄,只能容纳一个人通过。假如有两个人相向而行在桥上相遇,那么他们两个人将无妨绕过对方,只能有一个人回头下桥,让另一个人先通过。但是,可以有多个人同时呆在同一个位置原创 2017-10-06 17:25:09 · 413 阅读 · 0 评论 -
51nod排队接水
n个人一起排队接水,第i个人需要b[i]的时间来接水。1 <= n <= 10000 <= b[i] <= 1000同时只能有一个人接水,正在接水的人和没有接水的人都需要等待。完成接水的人会立刻消失,不会继续等待。你可以决定所有人接水的顺序,并希望最小化所有人等待时间的总和。Input第一行一个整数n接下来n行,每行一个整数表示b[i]O...原创 2018-08-01 16:28:07 · 304 阅读 · 0 评论 -
51nod51344走格子
有编号1-n的n个格子,机器人从1号格子顺序向后走,一直走到n号格子,并需要从n号格子走出去。机器人有一个初始能量,每个格子对应一个整数A[i],表示这个格子的能量值。如果A[i] > 0,机器人走到这个格子能够获取A[i]个能量,如果A[i] < 0,走到这个格子需要消耗相应的能量,如果机器人的能量 < 0,就无法继续前进了。问机器人最少需要有多少初始能量,才能完成整个旅程。...原创 2018-08-01 18:28:56 · 130 阅读 · 0 评论 -
NYOJ252
01串时间限制:1000 ms | 内存限制:65535 KB难度:2描述ACM的zyc在研究01串,他知道某一01串的长度,但他想知道不含有“11”子串的这种长度的01串共有多少个,他希望你能帮帮他。注:01串的长度为2时,有3种:00,01,10。输入第一行有一个整数n(0随后有n行,每行有一个整数m(2输出输出不含有“1转载 2017-08-16 11:11:11 · 223 阅读 · 0 评论 -
NYOJ36
最长公共子序列时间限制:3000 ms | 内存限制:65535 KB难度:3描述咱们就不拐弯抹角了,如题,需要你做的就是写一个程序,得出最长公共子序列。tip:最长公共子序列也称作最长公共子串(不要求连续),英文缩写为LCS(Longest Common Subsequence)。其定义是,一个序列 S ,如果分别是两个或多个已知序列的子序列,且是所有符合转载 2017-08-16 17:02:06 · 221 阅读 · 0 评论 -
51NOD1384 全排列(全排列函数)
1384 全排列 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注给出一个字符串S(可能有重复的字符),按照字典序从小到大,输出S包括的字符组成的所有排列。例如:S = "1312",输出为: 11231132121312311312132121132131231131123121321...原创 2018-08-06 11:08:52 · 165 阅读 · 0 评论 -
C++STL容器的基本应用(新手入门向)
目录前言:最近整理了一下STL基本的三个容器(set,map,vector),这三个容器经常使用,其他到是还碰到过,可能是自己做的刷的题少吧23333,文章如果不正确的地方欢迎大家前来批评打脸。 STL介绍 iterator迭代器 set容器 pair容器 map容器 vector容器 STL是什么?STL(Standard Te...原创 2018-08-07 20:57:40 · 2429 阅读 · 1 评论 -
STL中iterator迭代器
STL入门点击:STL新手入门向迭代器1 头文件所有容器有含有其各自的迭代器型别(iterator types),所以当你使用一般的容器迭代器时,并不需要含入专门的头文件。不过有几种特别的迭代器,例如逆向迭代器,被定义于<iterator>中。 2 迭代器类型迭代器共分为五种,分别为: Input iterator、Output iterator、Forward...原创 2018-08-08 15:42:10 · 549 阅读 · 0 评论 -
C++STL容器之set容器
STL新手入门点击:STL新手入门向1.set介绍set是C++标准库中的一种关联容器。所谓关联容器就是通过键(key)来读取和修改元素。与map关联容器不同,它只是单纯键的集合。set集合容器实现了红黑树(Red-Black Tree)的平衡二叉检索树的数据结构,在插入元素时,它会自动调整二叉树的排列,把该元素放到适当的位置,以确保每个树根节点的键值大于左子树所有节点的键值,而小于右...原创 2018-08-08 16:51:41 · 9635 阅读 · 0 评论 -
51NOD1174(RMQ)
1174 区间中最大的数 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注给出一个有N个数的序列,编号0 - N - 1。进行Q次查询,查询编号i至j的所有数中,最大的数是多少。例如: 1 7 6 3 1。i = 1, j = 3,对应的数为7 6 3,最大的数为7。(该问题也被称为RMQ问题)Input第1行:1个数N,表示序...原创 2018-08-05 16:32:20 · 112 阅读 · 0 评论 -
51NOD1019 逆序数(归并排序求逆序数)
1019 逆序数 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。如2 4 3 1中,2 1,4 3,4 1,3 1是逆序,逆序数是4。给出一个整数序列,求该序列的逆序数。Input第1行...原创 2018-08-06 18:24:08 · 124 阅读 · 0 评论 -
2020 排序相减
“排序相减”操作是指对于任意一个四位数n,将四个数字分别进行顺序排序和逆序排序,得到两个数取相减后结果的绝对值n1,然后继续将n1中的四个数字进行顺序排序和逆序排序,得到两个数取相减后结果的绝对值n2,以此类推,最后总会得到一个数字黑洞,无法跳出。 例如:样例2中4176 = 6532 - 2356Input第一行输入一个整数T,表示数据组数(1<T<10000);...原创 2018-08-01 16:48:20 · 225 阅读 · 0 评论 -
51nod1347旋转字符串
S[0...n-1]是一个长度为n的字符串,定义旋转函数Left(S)=S[1…n-1]+S[0].比如S=”abcd”,Left(S)=”bcda”.一个串是对串当且仅当这个串长度为偶数,前半段和后半段一样。比如”abcabc”是对串,”aabbcc”则不是。现在问题是给定一个字符串,判断他是否可以由一个对串旋转任意次得到。 Input第1行:给出一个字符串(字符串非空串,只包...原创 2018-08-02 15:00:20 · 224 阅读 · 0 评论 -
51nod1018 排序
1018 排序 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注给出N个整数,对着N个整数进行排序Input第1行:整数的数量N(1 <= N <= 50000)第2 - N + 1行:待排序的整数(-10^9 <= A[i] <= 10^9)Output共n行,按照递增序输出排序好的数据。I...原创 2018-08-06 17:23:58 · 116 阅读 · 0 评论 -
51NOD1212无向图最小生成树
N个点M条边的无向连通图,每条边有一个权值,求该图的最小生成树。Input第1行:2个数N,M中间用空格分隔,N为点的数量,M为边的数量。(2 <= N <= 1000, 1 <= M <= 50000)第2 - M + 1行:每行3个数S E W,分别表示M条边的2个顶点及权值。(1 <= S, E <= N,1 <= W <= 100...原创 2018-08-04 08:48:19 · 283 阅读 · 0 评论 -
51NOD1459迷宫游戏
1459 迷宫游戏 你来到一个迷宫前。该迷宫由若干个房间组成,每个房间都有一个得分,第一次进入这个房间,你就可以得到这个分数。还有若干双向道路连结这些房间,你沿着这些道路从一个房间走到另外一个房间需要一些时间。游戏规定了你的起点和终点房间,你首要目标是从起点尽快到达终点,在满足首要目标的前提下,使得你的得分总和尽可能大。现在问题来了,给定房间、道路、分数、起点和终点等全部信息,你能计算在...原创 2018-08-04 11:36:34 · 163 阅读 · 0 评论 -
51nod天气晴朗的魔法
在满足魔法值最大值尽可能小的情况下,魔力值之和尽可能的大魔力值最大值尽可能的小,那么这个值不超过最小生成树的最大权值在不超过最小生成树的最大权值的所有边中选取n-1条边组成最大生成树即可注意下数据范围#include<iostream>#include<cstring>#include<cstdio>#include<algor...原创 2018-08-04 16:44:15 · 127 阅读 · 0 评论 -
POJ1488TEX Quotes
TEX is a typesetting language developed by Donald Knuth. It takes source text together with a few typesetting instructions and produces, one hopes, a beautiful document. Beautiful documents use dou...原创 2018-07-23 09:07:34 · 182 阅读 · 0 评论 -
OJ中的语言选项里G++ 与 C++的区别
概念上:C++是一门计算机编程语言,而G++则是C++的编译器。GCC和G++都是GUN的编译器,cc是Unix系统的C Compiler,而gcc则是GNU Compiler Collection,GNU编译器套装。gcc原名为Gun C语言编译器,因为它原本只能处理C语言,但gcc很快地扩展,包含很多编译器(C、C++、Objective-C、Ada、Fortr...转载 2018-05-23 21:27:39 · 476 阅读 · 0 评论 -
NYOJ303序号互换
序号互换 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 Dr.Kong设计了一个聪明的机器人卡多,卡多会对电子表格中的单元格坐标快速计算出来。单元格的行坐标是由数字编号的数字序号,而列坐标使用字母序号。观察字母序号,发现第1列到第26列的字母序号分别为A,B,…,Z,接着,第27列序...原创 2018-05-19 19:14:35 · 125 阅读 · 0 评论 -
NYOJ305表达式求值
表达式求值 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 Dr.Kong设计的机器人卡多掌握了加减法运算以后,最近又学会了一些简单的函数求值,比如,它知道函数min(20,23)的值是20 ,add(10,98) 的值是108等等。经过训练,Dr.Kong设计的机器人卡多甚至会计算一...原创 2018-05-19 19:53:55 · 247 阅读 · 0 评论 -
substr函数
百度百科讲的可以参考:https://baike.baidu.com/item/substr/10685875?fr=aladdin原创 2017-10-19 23:42:43 · 855 阅读 · 0 评论 -
C++中的STL中map用法详解
http://www.cnblogs.com/fnlingnzb-learner/p/5833051.html此博客讲解的可以参考map遍历map m;map::iterator it;it = m.begin();while(it != m.end()){ //it->first; //it->second; it ++; }原创 2017-10-19 23:48:26 · 145 阅读 · 0 评论 -
快速幂
快速幂这个东西比较好理解,但实现起来到不老好办,记了几次老是忘,今天把它系统的总结一下防止忘记。 首先,快速幂的目的就是做到快速求幂,假设我们要求a^b,按照朴素算法就是把a连乘b次,这样一来时间复杂度是O(b)也即是O(n)级别,快速幂能做到O(logn),快了好多好多。它的原理如下: 假设我们要求a^b,那么其实b是可以拆成二进制的,该二进制数第i位的权为2^(i-1),例转载 2017-10-21 16:46:58 · 146 阅读 · 0 评论 -
当遇到error: stray '\241' in program错误的解决方法
意思是c/c++中的编译错误。该错误是指源程序中有非法字符,需要去掉非法字符。一般是由于从别的地方粘贴过来造成的。方法:1.把所粘的文字放到记事本里就行了 2.把出错行的空格删掉重新打一下试试。转载 2017-10-25 22:45:30 · 9354 阅读 · 0 评论 -
同余定理
同余运算及其基本性质 100除以7的余数是2,意思就是说把100个东西七个七个分成一组的话最后还剩2个。余数有一个严格的定义:假如被除数是a,除数是b(假设它们均为正整数),那么我们总能够找到一个小于b的自然数r和一个整数m,使得a=bm+r。这个r就是a除以b的余数,m被称作商。我们经常用mod来表示取余,a除以b余r就写成a mod b = r。 如果两个数a和b之差能被m整除,...转载 2018-03-06 20:38:16 · 2045 阅读 · 0 评论 -
set容器和multiset容器
C++ STL set和multiset的使用std::set<int> s;那个s这个对象里面存贮的元素是从小到大排序的,(因为用std::less作为比较工具。)1,set的含义是集合,它是一个有序的容器,里面的元素都是排序好的,支持插入,删除,查找等操作,就 像一个集合一样。所有的操作的都是严格在logn时间之内完成,效率非常高。 set和multiset的区别是:set插入...转载 2018-03-07 15:36:30 · 194 阅读 · 0 评论