自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(211)
  • 资源 (1)
  • 收藏
  • 关注

原创 hdu 2674(想法+数学)

这题要计算的是N!%2009,0思路:从1开始累乘,直到乘到因子为N为止,并且在相乘过程中,每相乘一次都mod2009,这样做和把所有1---N因子都乘完后再mod2009结果是一样的。原因在于每个数都能分为除以2009后的商部分和余数部分。用这个数乘以n,和用这个数除以2009的商乘以n以及余数乘以n,效果完全一样。商乘以n的部分任然是下一个数商部分;而余数乘以n的部分如果大于200

2014-04-03 21:55:54 723

原创 HDU 1013(数学?数串)

题目地址:  #include#include#include#include#include#includeusing namespace std;int main(){ char m[1000],len,ans; while(scanf("%s",m)!=EOF) { len=strlen(m);

2014-04-03 21:41:16 575

原创 hdu 1005(找规律--循环节)

题目链接:点击打开链接题目大意:A number sequence is defined as follows:f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7.Given A, B, and n, you are to calculate the value of f(n).题目分析:一般

2014-04-01 21:53:36 754

原创 HDU 1249 三角形(递推)

题目链接:点击打开链接题目分析:ACM中数学类题目,要么是结论性的,要么就是递推,所以先画几个图形看看                 n=1   ---------->  face =2;                 n=2  -----------> face  =8;                 n=3  -----------> face  =20;每条边最多与

2014-03-31 21:00:54 643

原创 hdu 1222 (数论+递推)

题目链接:点击打开链接题目分析:一开始以为只要n%m就可以但是明显错误                  m=6,n=8;仍然可以,顿悟如果mn有公约数,那么在循环过程中距离差距会是固定的,但是如果差距不固定(公约数为1)那么不行。 貌似hdu上  %lld->%I64d  long long->__int64 #include#include#include#

2014-03-27 21:37:08 608

转载 数据结构---堆及其相关函数

C ++  STL 中与heap 有关的操作有 如下几个 :  make_heap(),   pop_heap(),  push_heap(),  sort_heap(),  is_heap;  is_heap() : 原型如下 :     1. bool is_heap(iterator start, iterator end); 

2014-03-20 22:33:19 593

转载 HDU 2256(矩阵快速幂)

题目链接:题目分析:之前用库函数 fmod(x,mod),然后就wa,毕竟用double来取膜的确是不可能的然后参考大神的代码过了。#include#include#includeusing namespace std;const int N=2;const int MOD=1024;struct Matrix{ int mat[N][N];

2014-03-20 22:03:02 605

原创 POJ FIBONACCI (3070)

正常解法是用矩阵快速幂.但是,只是#include#include#include#include #define maxn 3000using namespace std;//计算阶乘int a[150000];void pow(){ a[0]=0,a[1]=1; for(int i=2;i<150000;i++) a[i]=(a[i

2014-03-18 22:11:53 552

转载 Pick定理 有趣的证明

Pick定理:如果一个简单多边形(以下称为“多边形”)的每个顶点都是直角坐标平面上的格点,则称该多边形为格点多边形.若一个面积为S的格点多边形,其边界上有a个格点,内部有b个格点,则S=a/2+b-1.强迫孩子们接受无法说出道理的东西,很容易打击孩子们的求知欲望和学习兴趣.我经过反复琢磨,找到一个非常浅显的办法,既能够形象的解释Pick定理的道理,又能让看清Pick定理的本质.整个解释只需用到

2014-03-17 22:08:05 1322

转载 标准输入输出函数

一、格式化输入输出函数       Turbo C2.0 标准库提供了两个控制台格式化输入、 输出函数printf( ) 和scanf(), 这两个函数可以在标准输入输出设备上以各种不同的格式读写数据。printf()函数用来向标准输出设备(屏幕)写数据; scanf() 函数用来从标准输入设备(键盘)上读数据。下面详细介绍这两个函数的用法。       1. printf()函数

2014-03-17 21:27:50 770

转载 【计组】 练习题

一、单项选择题:每小题2分,共24分。1. 冯·诺依曼计算机中指令和数据均以二进制形式存放在存储器中,CPU区分它们的依据是   A. 指令操作码的译码结果              B. 指令和数据的寻址方式   C. 指令周期的不同阶段                D. 指令和数据所在的存储单元2. 一个C语言程序在一台32位机器上运行。程序中定义了三个变量x、y和z,其中x

2014-03-17 21:04:34 4143 1

原创 【问题】matlab输入出现乱码

因为MATLAB 中默认的字体是 Monospaced ,在不同语言和操作系统上映射的字也不一样。换成其他字体解决了,你试试吧。换成常见的字体都可以。在这里修改preferences→fonts

2014-03-17 14:34:32 1237

转载 【Matlab实验】 创建矩阵

http://bbs.seu.edu.cn/pc/pccon.php?id=950&nid=15236用MATLAB函数创建矩阵1.空阵[ ] — 空阵,MATLAB允许输入空阵,当一项操作无结果时,返回空阵。2.等间距线性向量linspace — 线性等分函数生成向量,可以在首尾两端元素之间,等分建立向量,其中:linspace(n1,n2)包括n1,n2元素,生

2014-03-16 20:51:13 3995

原创 HDU 1395(快速幂模板)

#include #include #include #include #include using namespace std;typedef long long ll;ll pow(ll a,ll b,ll r){ ll ans=1,buff=a; while(b) { if(b&1) ans = (ans*buff)%r;

2014-03-16 11:03:56 621

原创 HDU1018 (最小公倍数)

#include #include #include #include #include using namespace std;int gcd(int n,int m){ return m==0 ? n:gcd(m,n%m);}int lcm(int n,int m){ if(n<m) swap(n,m); return n/gcd(n,m)

2014-03-16 10:35:18 726

转载 Efficient way to multiply with 7(快速乘以7)

# includeint multiplyBySeven(int n){ /* Note the inner bracket here. This is needed because precedence of '-' operator is higher than '<<' */ return ((n<<3) - n);}/* Driver

2014-03-12 21:53:43 606

原创 Write an Efficient Method to Check if a Number is Multiple of 3(快速判断3的倍数)

The very first solution that comes to our mind is the one that we learned in school. If sum of digits in a number is multiple of 3 then number is multiple of 3 e.g., for 612 sum of digits is 9 so it’s

2014-03-12 21:37:07 802

转载 【STL源码学习】----lower_bound和upper_bound算法

链接:  点击打开链接STL中的每个算法都非常精妙,接下来的几天我想集中学习一下STL中的算法。  ForwardIter lower_bound(ForwardIter first, ForwardIter last,const _Tp& val)算法返回一个非递减序列[first, last)中的第一个大于等于值val的位置。     ForwardIter upper_bou

2014-03-11 20:34:36 739

原创 ubuntu 下安装ibus 中文输入法

链接:点击打开链接IBus中文输入法中文输入法fcitx中文输入法ibusIBus 全称 Intelligent Input Bus是下一代输入法框架(或者说“平台”)。项目现托管于 Google Code -https://code.google.com/p/ibus/此项目包含了世界多数语言的文字输入需求——由世界多个国家开发

2014-03-11 19:56:11 3169

原创 BOJ 394(LIS应用)(nlogn算法)

题目链接:点击打开链接题目虽然是给的二维坐标,但是根据题目down_left和upper_right是“绝对”的上升关系所以这自然就变成了我们熟悉的LIS,由于数据量很大,所以我们只能用N(log n)的做法,使用N^2的做法请看另一篇博文点击打开链接所以以后还是都写nlogn的好了,以免T

2014-03-10 17:22:50 646

转载 在Excel中使用SQL语句对多个数据表进行精确筛选

博主地址:点击打开链接在使用Excel的时候,常常会遇到这样的问题:有2个数据表,数据表1中记录了大量的信息,比如人员的培训的信息,包含姓名、时间、培训内容等,如图1所示另外还有一张表,表2,包含的是单纯的名单信息,如图2现在想统计表2中名单上的人在表1中的培训记录。通常在表内的数据量不大的时候,手工一条条核对数据也是可以的,但遇到数据表非常庞大的时候,手工

2014-03-09 21:01:06 2643

原创 初步学习和使用SQL Developer

使用软件:SQL Developer 时间:2013年12月25~2014年3月去做个小项目,之前在甲骨文俱乐部学了点SQL语言但是发现真正用的时候还是要自己自学所以就几个小时啃了从图书馆的书写下自己操作时的指令,为以后方便查询一、筛选1.简单当个项目筛选select PHONE_NUMBER from RECORDS_1可以进行简单的排序,如果想判重也就容易了

2014-03-09 20:48:13 1062

原创 zoj 3609 ( Modular Inverse)

简单题,求逆元。 最小的x>0,满足ax==1 (mod m)。a和m都很小,不超过1000。所以可以暴力枚举x从1开始枚举,因为是对m取模的,所枚举x从1到m即可。另外m有可能等于1,所以直接判断a*x%m==1会错。改用(a*x-1)%m==0即可,另外也可以不用乘法,从(a-1)开始每次加a就可以了,但这都无所谓。还有,循环终止应该到m,而不是(m-1),本来到m的话ax==0;点击

2014-03-01 22:39:33 734

原创 ZOJ 3610 (The 9th Zhejiang Provincial Collegiate Programming Contest k)

#include#include#include#includeint main(){ int t; char b[50],g[50],x[50]; scanf("%d",&t); while(t--) { scanf("%s%s%s",&b,&g,&x); printf("%s will survive\n",g)

2014-03-01 22:31:16 850

原创 hdu 1443 joseph (约瑟夫环模拟)

先介绍下约瑟夫环的背景:点击打开链接题目大意:k个人好人,k个坏人站成一列,要让前k次杀死的都是坏人,求这个m_th最小是多少题目分析:这个题目的模拟很有意思,从k+1开始枚举,代码很清晰    如下:#include#include#include#includeusing namespace std;int res[16];int solve(int k){

2014-03-01 11:26:10 796

转载 【资料】约瑟夫环

解法二(From Net):      思想:归纳为数学性问题。原文说的很好,还是直接Copy吧,因为搜索半天也没有找到原作者,所以无法添加引用地址了,如果这位大哥看到这里,请告知与我,小弟立刻加入引用链接:)无论是用链表实现还是用数组实现都有一个共同点:要模拟整个游戏过程,不仅程序写起来比较烦,而且时间复杂度高达O(nm),当n,m非常大(例如上百万,上千万)的时候,几乎是没有办法在

2014-03-01 10:03:01 592

转载 【资料】ISAP写法--最大流

转载大神的博客:点击打开链接ISAP 是图论求最大流的算法之一,它很好的平衡了运行时间和程序复杂度之间的关系,因此非常常用。约定我们使用邻接表来表示图,表示方法可以见文章带权最短路 Dijkstra, SPFA, Bellman-Ford, ASP, Floyd-Warshall 算法分析或二分图的最大匹配、完美匹配和匈牙利算法的开头(就不重复贴代码了)。在

2014-03-01 09:35:31 856

原创 UVA 10137(截取精度)和UVA11300(中位数)

先在白书上看了这个题目UVA11300,多有意思的推导题目大意:给出一个整数n 然后n个人的钱。n个人围着一个圆桌每个人可以给旁边的人钱。最终的目的是所有人的钱一样多。数据保证可以实现。每有一个人给别人一块钱就是步数加一 现在要最少的步数实现。最终每个人的钱数假设为M=tot/n;每个人开始有的钱为Ai;Ci表示Ai-M这个题就是中位数的距离思想 n个人逆时针标号1-n

2014-02-23 15:47:14 759

原创 poj 1125 floyd简单应用

题目链接:点击打开链接题目大意:问题重述 众所周知,证券经纪业依靠的就是过度的传言。您需要想出股票经纪人中传播假情报的方法,让您的雇主在股票市场的占据优势。为了获得最大的效果,你必须蔓延最快的方式谣言。 不幸的是你,股票经纪人信息只信任他们的“可靠来源”,这意味着你在你传播谣言之前必须考虑到他们的接触结构。它需要特定股票经纪人和一定的时间把谣言传递给他的每一位同事。你的任务

2014-02-20 10:59:49 636

转载 Codeforces Round #230 (Div. 2) C (Div. 1)

C. Blocked Pointstime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputImagine you have an infinite 2D plane wit

2014-02-19 16:02:52 643

原创 Codeforces Round #230 (Div. 2) problem A(小算数)

题目链接:点击打开链接题目分析:求一串字符中nineteen的个数注意:n,i,t,e的数量关系#include#include#include#include#includeusing namespace std;char str[105];int length;int find (char c)//统计字符c出现的次数{ int count=0;

2014-02-19 15:05:19 609

原创 codeforces #230 (Div. 2) B(简单数学)

题目链接:点击打开链接题目大意:a+b矩阵成为w,a为对称矩阵,b为关于主对角线互为相反数题目分析:一来想到的是枚举法……会T,所以仔细一想                    x+y=a; x-y=b; 求解x,y吗#include#include#include#include#includedouble a[200][200],b[200][200],w[20

2014-02-19 15:02:01 899

原创 zoj 3160(区间dp 简单)

题目链接:点击打开链接题目大意:一些人编号为(0~n-1),有些关系在某相邻两人中间,若有关系则就离开这个队列;求离开人数最多的是?                    连连看的即视感,仔细分析为区间dp#include#include#include#includeint dp[305][305],queue[305],map[305][305];//MAP用于存储关系,q

2014-02-18 19:07:35 713

原创 poj 2127(最长公共上升子序列)

题目链接:点击打开链接题目分析:1.设主串为father【i】,子串为son【j】,dp【I】【J】表示主串以father【i】结尾和son【j】结尾的区间有当前的最大上升子列。                           尽量压缩主串比如:若father【i】==son【j】,则考虑在i前的k位和j-1是不是有更优的选择,找到最大值然后+1就是dp【i】【j】        

2014-02-18 09:53:00 1052

原创 uva 10189【字符串】

#include#include#include#include#includeusing namespace std;char grid[105][105];int res[105][105];void solve(int n, int m){ int i,j; for(i=1; i<=n; i++) { for(j=1; j<=m;

2014-02-15 09:51:37 640

原创 UVA 3n+1problem

手速:点击打开链接一开始是大表看是否有规律,但是很遗憾没有又想把所以的结果存在数组为1000000的内,很遗憾很慢其实直接求…… #include#include#include#include#includeusing namespace std;int hash[1000001];void solve(int n){ int i,re=

2014-02-14 21:40:08 593

原创 hdu 1848【博弈】sg函数应用

题目链接:点击打开链接题目叙述:变形的nim,每次拿都为fibonacci数(但是从1,2,3,5,开始)一共三堆;                 根据理论:2. If G = G1 + G2 and v = (v1; v2) 2 V1 £ V2, then g(v) is the bitwise XOR, or nim-sum,of the binary representations

2014-02-10 17:35:29 599

原创 hdu 1850 (nim games)

题目链接:点击打开链接题目大意:nim games 的变形,问第一次采取行动方法数1、如果a1^a2^a3^...^an = 0(即:nim - sum = 0),说明先手没有必胜策略,方法数肯定为0;2、假设先手有必胜策略。 问题则转化为 => 在任意一堆拿走任意K张牌,并且剩下所有堆nim - sum = 0(P-position)的方案总数。 ① 现在我们先看一个例子(5、7、

2014-01-28 22:54:49 595

转载 std::map

映射和多重映射基于某一类型Key的键集的存在,提供对T类型的数据进行快速和高效的检索。对map而言,键只是指存储在容器中的某一成员。Map不支持副本键,multimap支持副本键。Map和multimap对象包涵了键和各个键有关的值,键和值的数据类型是不相同的,这与set不同。set中的key和value是Key类型的,而map中的key和value是一个pair结构中的两个分量。

2014-01-28 15:45:36 1079

转载 【资料】Maximum Bipartite Matching

地址:点击打开链接Maximum Bipartite MatchingA matching in a Bipartite Graph is a set of the edges chosen in such a way that no two edges share an endpoint. A maximum matching is a matching of m

2014-01-19 19:46:47 2020

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除