
Start_数学
文章平均质量分 75
绝风
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
poj2635 The Embarrassed Cryptographer
我的天~~不算难把,但是有个小细节没考虑好WA很久,那就是,如果在100W的质数表内没找到那个数,应该是输出GOOD的,通过Sample才找到问题大数(十位进制变千位)+同余模定理+质数快速有效打表(奇数平方递推筛)用了文件输入输出,赞#include #include #include #include using namespace std;const int N=101原创 2014-03-17 19:53:15 · 561 阅读 · 0 评论 -
POJ1166 The Clocks [枚举]
这题蛮有意思,不知道怎么分类到高斯了, 应该是一道枚举思路很赞,不多说,看代码c那个数组很容易初始化错误呢最后的输出有点搞人,不过也可能不用特别注意最后一个空格#include #include #include #include using namespace std;int c[10][10]={ {0,0,0,0,0,0,0,0,0,0}, {0原创 2014-06-28 03:18:36 · 1030 阅读 · 0 评论 -
POJ2115 C looooops 【求解线性同余方程】
执行了X次后C*x+y*2^k=B-A从A到B本质就是求同余方程C*x=B-A mod 2^k 注意k的范围是32,超过int了,全用longlong 接下来就是求同余方程那一套了 a*x+b*y=gcd(a,b)这个扩展欧几里德算法解出来的x是最小的 还有第一步后,方程式变为gcd=gcd(C,2^k)C*x/gcd+原创 2014-06-07 21:26:44 · 776 阅读 · 0 评论 -
POJ3270 cow sorting 【polya】
题目描述:给你一个数字序列(每个数字唯一),每次你可以交换任意两个数字,代价为这两个数字的和,问最少用多少代价能把这个序列按升序排列好。题目的具体做法是参考刘汝佳的《算法艺术与信息学奥赛》大概思路是:以后再用别种方法解,1.找出初始状态和目标状态。明显,目标状态就是排序后的状态。2.画出置换群,在里面找循环。例如,数字是8 4 5 3 2 7明显,原创 2014-06-27 16:36:47 · 701 阅读 · 0 评论 -
POJ3252 RoundNumbers 【组合数学】
大致题意:给定left,right,求出[left,right]中有多少数满足如下的性质:化成二进制形式后,0的个数大于等于1组合数学,各种小边界处理很蛋疼大致思路是以10101100为例子,先求[0,10000000)中满足条件的数(想想该怎么求),然后求[100 00000,101 00000),[101 00 000,101 01 000)[101 01 000,101原创 2014-06-09 17:41:57 · 605 阅读 · 0 评论 -
POJ1019 NumberSequence 【数学公式转化题】
这题也是一看感觉自己能做,就拿出笔和纸开始写写画画了,写的也蛮爽(下午1点到晚上8点,,,),其实,,,也就俩方程的事情。。。但是中间出了个逗比错误,10+11+12+...+99算成了(1+90)*90/2(找出这个错误真心不容易,现学了点linuxshell知识,也正好写了写相关的脚本,比如对拍脚本,运行脚本,挺好的)这个错误也是奇葩,,前7000个竟然都没错,,真是 奇葩~感觉数原创 2014-06-21 02:42:10 · 675 阅读 · 0 评论 -
poj1942 Paths on a Grid 【排列组合】
关于这个题想说一下,刚开始准备按照有一个含有n个数的非递减序列,每个数最大值为m,数字可以重复,有多少种这样的序列,像是一个蛮复杂的排列组合其实这道题,从left bottom到right up只能向右或者向上,也就是m+n个格子里面取m个格子写右,n个格子写上,就成了个很2的排列组合问题值得强调的是,这个题求组合数是用分数相乘来求的,怕double丢精度可以末尾+0.5然后转化为long原创 2014-06-21 02:39:35 · 856 阅读 · 0 评论 -
HDU多校赛第9场 HDU 4965Fast Matrix Calculation【矩阵运算+数学小知识】
难度上,,,确实,,,不算难问题是有个矩阵运算的优化题目是说给个N*K的矩阵A给个K*N的矩阵B(1相当于ABABABABABABAB...=(AB)^(N*N)不如A(BA)^(N*N-1)B因为BA乘得K*K的矩阵,K是比较小的 #include #include #include #include #include #include us原创 2014-08-19 23:11:13 · 834 阅读 · 0 评论 -
HDU多校赛9 HDU4969 Just a Joke 【数学积分】
数学题目题意:中心的男孩向圆上的女孩跑去,保持男孩女孩圆心在同一条直线上,这过程中,男孩女孩均匀速给出男孩女孩速度,圆的半径,男孩最长能跑的距离问男孩能否跑到女孩那里 可以用积分来解这道题,我们可以求出这个过程的总时间,t0,然后用t原创 2014-08-19 23:37:25 · 1304 阅读 · 0 评论 -
HDU 4793 2013 Changsha Regional Collision[简单的平面几何]
给出一个圆形奖牌的半径和一个圆形区域的半径,还有一枚硬币的半径,然后桌面是光滑的,给出圆硬币的速度(大小和方向,vx,vy)和坐标(圆区域和圆奖牌同心且心作为源点),问硬币在圆区域滑动的时间是多少(任何一部分在圆区域都算),硬币碰到圆奖牌会反弹,能量不变(速度不变)第一次做平面几何题看了题解,题解的板子真好用大概来说有三种情况,如下图第一种是进入圆区而不碰撞,查看h和Rm+r的关系原创 2014-09-18 14:54:51 · 860 阅读 · 0 评论 -
POJ2947 DAZE [Gauss]
题目是要求建立一个方程组:(mat[1][1]*x[1] + mat[1][2]*x[2] + … + mat[1][n]*x[n])%7 =mat[1][n+1](mat[2][1]*x[1] + mat[2][2]*x[2] + … + mat[2][n]*x[n])%7 =mat[2][n+1]……(mat[m][1]*x[1] + mat[m][原创 2014-06-28 00:47:51 · 1040 阅读 · 0 评论 -
POJ1026 Cipher 【polya】
This question is not so difficult.First,my thoughts were we should use a lot of code to find out the loop block,but there is no need to do that .you just need to get every new position of char in原创 2014-06-27 16:18:31 · 650 阅读 · 0 评论 -
HDU1042 求N!
很早就看了大数,本来今天自己写了个大数类想自己用y原创 2014-04-30 22:18:34 · 556 阅读 · 0 评论 -
POJ3101 大数+LCM
#include #include #include #include #include #include #define NNN cout'\n';using namespace std;long long a[1111],b[1111];long long que=0;long long absMy(long long aa){ if(aa0)原创 2014-05-03 19:10:50 · 605 阅读 · 0 评论 -
poj 2718 Smallest Difference
这题目明明很简单啊,怎么A的人这么少。用next_permutation就可以做,很简单WA点:注意不能以0开头(考虑到了但是判断时候应该是==‘0'而不是==0,WA了)还有要把freopen注释掉,别没注释就交上去了,汗#include#include#include#include#includeusing namespace std;char strnumt原创 2014-03-21 19:35:01 · 410 阅读 · 0 评论 -
poj 3187 Backward Digit Sums
这题目的这个方法真是谜啊,搞不懂为什么变换序列一乘对应的第N行杨辉直到等于M,就是这个序列啊,数学道理是什么#include#include#include#includeusing namespace std;int a[19];int b[19];int s[19][19];void fun(){ int i,j; memset(s,0,sizeo原创 2014-03-21 20:18:08 · 411 阅读 · 0 评论 -
HDU 4565 So Easy ***MATH
快速幂运算:http://blog.sina().com.cn/s/blog_5cf6cbf80100qak0.html题解写的很好:http://blog.youkuaiyun.com/crazy______/article/details/9021169Cn=An+Bn=(a+根号b)^n+(a-根号b)^nBnCn=An向上取整原式Sn=Cn%m令Cn*((a+根号b)+(a-根原创 2014-04-22 23:53:06 · 461 阅读 · 0 评论 -
poj1286 Necklace of Beads【裸polya】
很裸的polya,不过我看polya看了很久吉大ACM模板里面也有#include #include #include using namespace std;long long gcd(long long a,long long b){ return b==0?a:gcd(b,a%b);}int main(){ #ifndef ONLINE_JUDGE //原创 2014-06-26 18:11:19 · 580 阅读 · 0 评论 -
POJ 2409 Let it bead 【裸polya】
和1286一样,裸polya,可以在吉大模板找到,polya可能要看一会儿#include #include #include using namespace std;long long gcd(long long a,long long b){ return b==0?a:gcd(b,a%b);}int main(){ #ifndef ONLINE_JUDGE原创 2014-06-26 18:32:59 · 448 阅读 · 0 评论 -
POJ 1845 Sumdiv【同余模运算+递归求等比数列和+快速幂运算】
快速幂运算在第一次训练时候就已经遇到过,这里不赘述同余模运算也很简单,这里也不说了,无非是(a+b)%m (a*b)%m 把m弄到里面变成(a%m+b%m)%m (a%m*b%m)%m 今天学的最重要的还是递归二分求等比数列 题目大意是给出A和B,求A^B的约数和解这个题,首先,对A进行素因子分解得到(PI(pi^ai))^B然后我们有约数和公式:原创 2014-06-06 18:26:34 · 1178 阅读 · 0 评论 -
POJ1850 Code 【排列组合】
还不算是难题(嘿嘿,因为我做出来了)很简单,找到相应的方程式解就是了(中间也犯了一个很2的错误,把9+10+11+...+99写成(1+90)*90/2,改过来后就好了)不多说,code is below#include #include #include using namespace std;int combi(int a,int b){ int sum=1; int原创 2014-06-26 17:37:25 · 610 阅读 · 0 评论 -
HDU 4810 Wall Painting【二进制+异或+暴力枚举】
给出n个数求从这n个数取k个数异或,所有情况得到的值(Cnk个值(可能有些相同))全加起来的值是多少k从1到n输出这n个数 这题一开始想毫无思绪也没有说这n个数的大概范围,想用背包来着本来 结果发现它是这么解的就样例来说,把四个数1,2,10,1拆开,当前是取k个数0001001010100001对第四位来说,如果某些方案是取k个数异或原创 2014-09-25 11:49:17 · 1751 阅读 · 0 评论