09 2017 档案

摘要:关于扩展欧几里得算法和逆元 1.扩欧 a*x1+b*y1=gcd(a,b); b*x2+(a%b)*y2=gcd(b, (a%b))= gcd(a,b); a%b=a-(a/b)*b; 联立可得 x1=y2 y1=x2-(a/b)*y2; 递归的边界为b=0 此时x=1,y=0,然后回溯即可。 为什 阅读全文
posted @ 2017-09-24 11:52 WeiAR 阅读(225) 评论(0) 推荐(0) 编辑
摘要:P2431 正妹吃月饼 我一开始是a<=2^n-1<=b,直接输出n=(int)log(b+1)/log(2); 50分,没有仔细分析2^n-1<a但是2^(n+1)-1>b的情况。 这里考虑位运算 在l小于r的基础上从小到大|1,最后有多少个一加起来就可以了。 阅读全文
posted @ 2017-09-24 11:30 WeiAR 阅读(84) 评论(0) 推荐(0) 编辑
摘要:register的能优化大约一半的时间 阅读全文
posted @ 2017-09-23 18:39 WeiAR 阅读(144) 评论(0) 推荐(0) 编辑
摘要:#include #include using namespace std; int n,m,s,k; void in(int &x) { char c=getchar();x=0; while(c'9')c=getchar(); while(c='0')x=x*10+c-'0',c=getchar(); } void out(int x) { if(x>9)... 阅读全文
posted @ 2017-09-17 11:02 WeiAR 阅读(136) 评论(0) 推荐(0) 编辑
摘要:关于读入 比如num控制输入的数量,你不能默认它就大于0,你要考虑没有输出的情况。 阅读全文
posted @ 2017-09-16 20:40 WeiAR 阅读(108) 评论(0) 推荐(0) 编辑
摘要:3.编辑距离问题(edit.pas/c/cpp) 【问题描述】 设A和B是两个字符串。要用最少的字符操作将字符串A变成字符串B。这里所说的字符操作包括: (1)删除一个字符。 (2)插入一个字符。 (3)将一个字符改为另一个字符。 将字符串A变成字符串B的最少字符操作数称为字符串A到B的编辑距离,记 阅读全文
posted @ 2017-09-16 19:28 WeiAR 阅读(1016) 评论(0) 推荐(0) 编辑
摘要:long long or int 很多时候long long爆空间,int有时又不够 。 在算乘法的时候,要保证乘出来的中间项也不爆long long 阅读全文
posted @ 2017-09-16 19:04 WeiAR 阅读(166) 评论(0) 推荐(0) 编辑
摘要:1.平方根(sqrt.pas/c/cpp) 【问题描述】 给出一个正整数n (1<n≤2^31-1),求当x,y都为正整数时,方程 的解中,x最小值为多少? √n=√x-√y 【输入文件】 输入文件只有一行,一个正整数n。 【输出文件】 输出文件只有一行,即满足条件的最小x的值。 【文件样例】 sq 阅读全文
posted @ 2017-09-16 19:00 WeiAR 阅读(204) 评论(0) 推荐(0) 编辑
摘要:P1348 Couple number 我其实找规律了的,然后也没仔细分析,这个题多巧妙。 C=a^2-b^2=(a+b)(a-b) 对于任意a而言,加减同一个数得到的数的奇偶性相同,故c=奇数或4的倍数。 考虑负数,(-3)%2 1 阅读全文
posted @ 2017-09-10 11:55 WeiAR 阅读(132) 评论(0) 推荐(0) 编辑
摘要:Problem 3 : 最大高度差 (altitude.pas/ altitude.in/ altitude.out) 【问题描述】 我们把一块山地划分为N x N的小块。你已经知道了每一块地的海拔高度。你需要回答若干个询问。一次询问指定了一块S x S的正方形区域(S是一个已经给定的值),你需要回 阅读全文
posted @ 2017-09-10 11:06 WeiAR 阅读(356) 评论(0) 推荐(0) 编辑
摘要:Problem 2 : 循环 (circle.pas/circle.in/circle.out) 【问题描述】 乐乐是一个聪明而又勤奋好学的孩子。他总喜欢探求事物的规律。一天,他突然对数的正整数次幂产生了兴趣。 众所周知,2的正整数次幂最后一位数总是不断的在重复2,4,8,6,2,4,8,6……我们 阅读全文
posted @ 2017-09-10 11:05 WeiAR 阅读(290) 评论(0) 推荐(0) 编辑
摘要:Problem 1 :最长线段 (chord.pas/chord.in/chord.out) 【问题描述】 给定两个圆各自的圆心坐标和半径长。过其中一个交点作直线,该直线与圆的另外两个交点分别为A、B。线段AB最长是多少? 【输入数据】 第一行有三个用空格隔开的整数x1,y1,r1,依次表示第一个圆 阅读全文
posted @ 2017-09-10 11:04 WeiAR 阅读(293) 评论(0) 推荐(0) 编辑
摘要:P1784 数独 搜素,以步数搜素条件,当setp>1时退出,方阵从0开始,第i行为step/9,第j列为step%9, 判断九宫格时,只要找左上角的位置即可,x+i,y+j,x=当前横坐标/3*3,y=当前纵坐标/3*3。 阅读全文
posted @ 2017-09-10 10:57 WeiAR 阅读(175) 评论(0) 推荐(0) 编辑