NOIP 模拟与数学
文章平均质量分 92
_Tham
If you sleep now , you will hava a dream. But if you study now , you will achieve your dream.
展开
-
加法问题,编程入门课
加法问题【问题描述】现在有两个实数,分别是A和B。请你从文件中读取A和B,计算它们的和A+B,并把它输出到文件中。(保留到整数)【输入格式】第一行:一个实数A第二行:一个实数B【输出格式】第一行:一个整数C = A+B【输入样例】12【输出样例】3 解题思路:此题简单题,但是注意输入的是两个实数,输出为原创 2014-03-20 09:08:28 · 886 阅读 · 0 评论 -
哈希 — 康托展开
http://blog.csdn.net/fuyukai/article/category/2898321/1 图论、次小生成树,差分约束,双连通康托展开是一个全排列到一个自然数的双射,常用于构建哈希表时的空间压缩。 康托展开的实质是计算当前排列在所有由小到大全排列中的顺序,因此是可逆的。全排列: 1,2,3三个数的全排列: 1,2,3 1,3,2 2,1,3 2,3,1 3,...原创 2017-03-21 14:59:12 · 810 阅读 · 0 评论 -
求解最大公约数——欧几里得算法及其(解同余方程)拓展欧几里得
求关于 x 的同余方程 ax ≡ 1 (mod b)的最小正整数解。最大公约数的求法中最过著名的莫过于欧几里得辗展相除法,它有两种形式(递归与非递归,其实是一样的,任何递归都可以写成非递归)原创 2014-10-31 14:02:57 · 3071 阅读 · 0 评论 -
hihoCoder 1143 : 骨牌覆盖问题·一(递推,矩阵快速幂)
【题目链接】:click here~~时间限制:10000ms单点时限:1000ms内存限制:256MB描述骨牌,一种古老的玩具。今天我们要研究的是骨牌的覆盖问题:我们有一个2xN的长条形棋盘,然后用1x2的骨牌去覆盖整个棋盘。对于这个棋盘,一共有多少种不同的覆盖方法呢?举个例子,对于长度为1到3的棋盘,我们有下面几种覆盖方式:原创 2016-04-21 15:00:59 · 2015 阅读 · 0 评论 -
约瑟夫环问题
约瑟夫环问题(基本)n个人围成圈,依次编号为1,2,..,n,现在从1号开始依次报数,当报到m时,报m的人退出,下一个人重新从1报起,循环下去,问最后剩下那个人的编号是多少?递归法参见百度百科:Josephus(约瑟夫)问题的数学方法递推式: 将这些人的编号用对总人数取模所得余数代替(即原编号减一),其中 Fn 表示n个人的原创 2015-12-06 13:46:08 · 2576 阅读 · 1 评论 -
解线性同余方程—欧几里德与扩展欧几里德算法
欧几里德算法欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。基本算法:设a=qb+r,其中a,b,q,r都是整数,则gcd(a,b)=gcd(b,r),即gcd(a,b)=gcd(b,a%b)。第一种证明: a可以表示成a = kb + r,则r = a mod b 假设d是a,b的一个公约数,则有 d|a, d|b,而r转载 2015-09-30 11:41:15 · 1179 阅读 · 0 评论 -
浅谈KMP“串”的模式匹配问题
kmp算法是一个效率非常高的字符串匹配算法。不过由于其难以理解,所以在很长的一段时间内一直没有搞懂。虽然网上有很多资料,但是鲜见好的博客能简单明了地将其讲清楚。在此,综合网上比较好的几个博客(参见最后),尽自己的努力争取将kmp算法思想和实现讲清楚。kmp算法完成的任务是:给定两个字符串O和f,长度分别为n和m,判断f是否在O中出现,如果出现则返回出现的位置。常规方法是遍历a的每一个位置,原创 2016-04-13 12:00:35 · 3074 阅读 · 0 评论 -
堆栈—冲刺十三模拟赛 外星密码
P1967 - 【NOIP2010冲刺十三模拟赛】外星密码Description有了防护伞,并不能完全避免2012的灾难。地球防卫小队决定去求助外星种族的帮助。经过很长时间的努力,小队终于收到了外星生命的回信。但是外星人发过来的却是一串密码。只有解开密码,才能知道外星人给的准确回复。 解开密码的第一道工序就是解压缩密码,外星人对于连续的若干个相同的子串“x”会压缩为原创 2015-10-12 19:44:41 · 1144 阅读 · 0 评论 -
数字统计之统计页码数字出现的次数
给定一个十进制整数N,求出从1到N的所有整数中出现"1"的个数。例如:N=2,1,2出现了1个"1"。N=12,1,2,3,4,5,6,7,8,9,10,11,12。出现了5个"1"。最直接的方法就是从1开始遍历到N,将其中每一个数中含有"1"的个数加起来,就得到了问题的解。long CountOne3(long n){ long i = 0,j = 1; long co原创 2015-10-11 22:35:59 · 3485 阅读 · 0 评论 -
数学(论)里的一些定理(莫比乌斯反演,傅立叶变换,数论变换...)
莫比乌斯反演莫比乌斯反演在数论中占有重要的地位,许多情况下能大大简化运算。那么我们先来认识莫比乌斯反演公式。 定理:和是定义在非负整数集合上的两个函数,并且满足条件,那么我们得到结论 在上面的公式中有一个函数,它的定义如下: (1)若,那么 (2)若,均为互异素数,那么原创 2015-05-17 13:11:14 · 4717 阅读 · 1 评论 -
高精度大数运算模板
#define MAX 100000 #define base 10000 #define digit 4 struct bigint { int c[MAX]; int len; void init() { len = 0; memset(c,0,sizeof(c)); }原创 2015-05-17 13:27:05 · 690 阅读 · 0 评论 -
KMP 解决串的模式匹配问题
KMP本身不复杂,但网上绝大部分的文章(包括本文的2011年版本)把它讲混乱了。下面,咱们从暴力匹配算法讲起,随后阐述KMP的流程 步骤、next 数组的简单求解 递推原理 代码求解,接着基于next 数组匹配,谈到有限状态自动机,next 数组的优化,KMP的时间复杂度分析,最后简要介绍两个KMP的扩展算法。 全文力图给你一个最为完整最为清晰的KMP,希望更多的人不再被KMP折磨或纠缠,不再被一些混乱的文章所混乱,有何疑问,欢迎随时留言评论,thanks。原创 2014-11-01 21:11:44 · 4881 阅读 · 1 评论 -
整数平方根:整数开方及大整数开方解决方法
输入一个正整数N(1≤N≤ 10^100 ),试用二分法计算它的平方根的整数部分。原创 2014-11-03 16:47:05 · 13417 阅读 · 1 评论 -
N!(N的阶乘)最末位非0的求解方法
关于N!的最后一位非0位, 如3!=6,最后一位非0位为6, 5!=120, 最后一位非0位为2.怎么样快速的求出最后一位非0位呢?原创 2014-10-31 13:53:55 · 5233 阅读 · 0 评论 -
NOIP 2006 作业调度方案
【问题描述】我们现在要利用m台机器加工n个工件,每个工件都有m道工序,每道工序都在不同的指定的机器上完成。每个工件的每道工序都有指定的加工时间。每个工件的每个工序称为一个操作,我们用记号j-k表示一个操作,其中j为1到n中的某个数字,为工件号;k为1到m中的某个数字,为工序号,例如2-4表示第2个工件第4道工序的这个操作。在本题中,我们还给定对于各操作的一个安排顺序。例如,原创 2014-08-05 09:20:28 · 1178 阅读 · 0 评论 -
POJ 3279(Fliptile)题解
【题意】给定长宽的黑白棋棋盘摆满棋子,每次操作可以反转一个位置和其上下左右共五个位置的棋子的颜色,求要使用最少翻转次数将所有棋子反转为黑色所需翻转的是哪些棋子。【题目分析】这题刚开始被放到搜索的分类下了..然而这和搜索有什么关系..没经验所以想了各种和搜索沾边的方法,结果没想出解法,直到看了网上的题解,压根不是搜索。具体解法:首先根据题目,每次操作都会影响到周围原创 2017-06-23 17:47:24 · 835 阅读 · 0 评论