自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 hdu 5114 Collision 扩展欧几里得

题目链接题意 先给出一个矩形的范围a,b,然后给出两个点的坐标,这两个点都以速度(1,1)移动碰到矩形边时 以(-1,-1)移动再循环往复,两个点相碰撞时的坐标。可以将速度分解,直接求时间,可以分为四种情况第一种x1==x2&&y1==y2这时两个点已经碰撞 所以tc=0第二种x1==x2&&y1!=y2只需判断什么时候y相等 推出公式tc=ty=b-(y1+y2)/2;第三种x1!=x2&&y1

2018-01-17 19:40:04 259

原创 hdu 5512 Pagodas找规律

题目链接给定n,m,k 可以建的塔的标号可以是m+k或m-k或k-m,两个人互相建塔,问在[1,n]中谁先没有塔可以建,写几组数据找找规律就会发现,建塔的数都是gcd(m,k)的倍数,判断n中gcd(m,k)的倍数的个数就行了#include #include #include using namespace std;int gcd(int n,int m){

2018-01-15 15:09:48 284

原创 hdu 5514 Frogs 容斥或欧拉函数

题目链接题意 输入n,m,n代表青蛙个数 m代表石头个数 石头围成一圈 由0编号到m-1 第二行输入n只青蛙的步长,一块石头不能被两只青蛙同时占领,求石头编号的和,以第一组样例2 129 10 为例2 即两只青蛙 12是石头个数  两只青蛙最开始都在编号为0的石头上 第一只青蛙 可以跳到 编号9 (9+9)%12 编号6  (18+9)%12 编号3  (27+9)

2018-01-15 15:01:08 272

原创 hdu 5974 A Simple Math Problem 一元二次方程

已经是第三遍做这个题了 (两个数的和)和(这两个数的最小公倍数)的最大公约数等于这两个数的最大公约数  gcd(x,y)=gcd(x+y,lcm(x,y))设x是其中一个数 另一个数为a-x  x*(a-x)/gcd(a,b)=lcm(a,b)#include #include #include#include#include #define pi 3.1415926u

2018-01-12 19:17:56 257

原创 hdu 5978 To begin or not to begin 博弈水题

很简单的博弈代码也很简单#include #include #include#include#include #define pi 3.1415926using namespace std;int main(){ int m,n; while(cin>>m) { if(m%2==1) puts("0");

2018-01-12 19:10:41 270

原创 hdu 5979 Convex

给角的个数和度数和边的长度求多边形面积 水题。。。#include#include#includeusing namespace std;#define pi 3.1415926int main() { int m,n,a[15]; float ans; while(cin>>m>>n) { for(int i=0;i<m;i++)

2018-01-12 19:06:06 205

原创 hdu 5976 Detachment 逆元+打表

一开始以为是规律题 找了好久没找到规律题意很明确最后发现它的积和阶乘有关系 两个数越接近和越大#include #include #include#include#include using namespace std;const int mod=1e9+7;const int maxn=50000;typedef long long ll;ll f[maxn];l

2018-01-12 18:56:32 218

原创 hdu 5973 Game of Taking Stones java大数+根号5的精度

威佐夫博弈的模板题但是数据太大 用到java大数 还需要注意精度问题 没具体数就复制了下面的几行根号5的10000位因为package  wa了好几发import java.math.*;import java.text.*;import java.util.*;public class Main { public static void main(String

2018-01-12 18:51:45 297

原创 数据结构->排序

用习惯了sort突然要写个排序 边界都忘了咋写了。。。给出n个学生的考试成绩表,每条信息由姓名和分数组成,试设计一个算法:按分数高低次序,打印出每个学生在考试中获得的名次,分数相同的为同一名次;按名次列出每个学生的姓名与分数。#include #include #include #define MAXSIZE 100 /*参加排序元素的最大个数*/typedef s

2017-12-28 23:37:09 555 1

原创 数据结构->查找

1.输入一批有序的整形数值,利用折半插找的算法实现查找某数的过程。2.利用一批数据(不超过13个数),构建一棵二叉排序树,并实现中序遍历该树。3.将上面的数据利用长度为15的哈希表存储,输出存储后的哈希表。哈希函数采用key%13。4.根据全班学生的姓名,用拉链法解决碰撞的方法构造一个散列表,选择适当的散列函数,设计并实现插入、删除和查找算法。5.设计主函数,上机实现。  #i

2017-12-26 00:01:30 329

原创 数据结构->图的运算

1、键盘输入数据,建立一个有向图的邻接表。2、输出该邻接表。3、在有向图的邻接表的基础上计算各顶点的度,并输出。4、以有向图的邻接表为基础实现输出它的拓扑排序序列。5、采用邻接表存储实现有向图的深度优先递归遍历。6、编写一个主函数,调试上述算法。#include #include #define MAXVNUM 100 //顶点最大个数#define Vertex

2017-12-18 21:52:57 1198

原创 数据结构->二叉树的基本操作

1、 按先序次序输入二叉树中结点的值(一个字符),`@`表示空树,生成二叉树的二叉链表存储结构。2、 按先、中、后序递归遍历二叉树,之后结合栈的应用,将中序遍历算法改为非递归算法。3、利用二叉树的递归算法求二叉树的高度 。4、利用二叉树的递归算法求二叉树的叶子个数。5、编写一个主函数,调试上述算法。#include #include typedef char ElemTyp

2017-12-18 21:52:04 1203

原创 数据结构->栈和队列的基本操作

1、用顺序存储定义栈结构。写出这种存储方式下的算法实现,包括:初始化栈、判栈为空、出栈、入栈、求栈顶元素等运算,自己填写主函数。2、利用顺序栈的基本操作,设计算法,实现将任意一个十进制整数转化为R进制整数3、用顺序存储来定义循环队列结构。编程实现,初始化队列、判队列为空、出队列、入队列、求队列头部元素等运算,自己填写主函数。4、设计只有尾指针的单循环链表表示的队列的入队和出队程序,并上

2017-12-18 21:50:52 717

原创 数据结构->双链表的操作

1、利用尾插法建立一个双向链表。2、遍历双向链表。3、实现双向链表中删除一个指定元素。4、在非递减有序双向链表中实现插入元素e仍有序算法。5、判断双向链表中元素是否对称若对称返回1否则返回0。6、设元素为正整型,实现算法把所有奇数排列在偶数之前。#include #include #define Elemtype int#define dx struct nodet

2017-12-18 21:49:53 393

原创 数据结构->单链表的操作

1、随机产生或键盘输入一组元素,建立一个带头结点的单向链表(无序)。2、遍历单向链表。3、把单向链表中元素逆置(不允许申请新的结点空间)。4、在单向链表中删除所有的偶数元素结点。5、编写在非递减有序链表中插入一个元素使链表元素仍有序的函数,并利用该函数建立一个非递减有序单向链表。6、利用算法5建立两个非递减有序单向链表,然后合并成一个非递增链表。7、利用算法5建立两个非递减

2017-12-18 21:48:08 1641

原创 数据结构->顺序表的操作

1、输入一组整型元素序列,建立顺序表。2、实现该顺序表的遍历。3、在该顺序表中进行顺序查找某一元素,查找成功返回1,否则返回0。4、判断该顺序表中元素是否对称,对称返回1,否则返回0。5、实现把该表中所有奇数排在偶数之前,即表的前面为奇数,后面为偶数。6、输入整型元素序列利用有序表插入算法建立一个有序表。7、利用算法6建立两个非递减有序表并把它们合并成一个非递减有序表。

2017-12-18 21:45:10 5396 4

原创 拖拖拖了好久的校赛补题nefu1259&nefu1260&nefu1261&nefu1262&nefu1263&nefu1264

NEFU1259题目:还记得矩阵快速幂吗?给出如下递推方程:f(n)=f(n-1)+2^(n-1) 其中 f(1)=1,求 f(n)快速幂模板题(一开始居然想用递归真是脑子烧坏了)#include using namespace std;typedef long long ll;const int mod=1e9+7;ll quickmod

2017-12-15 21:42:18 471

原创 51nod 1004 n^n的末位数字

点这里越来越懒了难过刷水题规律题#include #include #include using namespace std;typedef long long ll;int ans[10][5]{ {0},{1},{2,4,8,6},{3,9,7,1},{4,6},{5},{6},{7,9,3,1},{8,4,2,6},{9,1} };int main(){

2017-08-20 14:22:36 240

原创 poj 3071 Football

点这里之前省赛签到好像有类似的题目给你每个队和每个队比赛的胜率求哪个队胜率最高假如有四个队伍1、2、3、4P12表示1和2之间的比赛1的胜率那么1队的总胜率=P12*P34*P13+P12*P43*P14dp[i][j]+=(dp[i-1][j]*dp[i-1][k]*p[j][k])先保证赢了i-1局还有一部分没搞懂的位运算。。就是判断是否相邻#include

2017-08-17 14:10:18 226

原创 51nod 1179 最大的公约数

点这里一道暴力水题一开始总RE没考虑因子的大小。。。#include #include #include #include using namespace std;int tt[50010];int tt1[1000005];int max(int a, int b){ if (a > b) return a; else return b;}int ma

2017-08-14 12:15:57 222

原创 hdu 6112 今夕何夕

点这里还是能力不够写的代码简直要把自己绕死了暴力水题注意4004-02-29不注意2.29只在闰年出现的话会输出4005正解应该是4032因为这个wa了好几发。。#include #include using namespace std;int tt2[10010][13][35];void js(){ int f; for (int i = 2017

2017-08-12 20:46:24 318

原创 51nod 1240 莫比乌斯函数

点这里知道公式很好做的一道题#include #include #include #include using namespace std;const int mod = 1e9 + 7;const int maxn = 1e6 + 5;int prime[maxn];int vis[maxn], cnt, p;typedef long long ll;void ini

2017-08-11 20:02:35 227

原创 hdu 5690 All X

点这里非常好的一道题首先看到F(x,m)第一反应肯定是先把它转化为可表示的数字想到11111111..... 乘以某个数就可以构造由x组成的m位数字然后就是构造1111111..... ((10^m-1)/9)*x 然后就完成了构造因为不能确定k是不是素数所以不能用逆元(一开始总不对就是因为求了9的逆元。。。。)可以把9给mod((10^m-1)*x)mod

2017-08-11 13:28:25 193

原创 51nod 1005 大数加法

点这里注意细节!#include #include #include #include #include #include #include using namespace std;string tt1;string tt2;char tt3[10010];char tt4[10010];int ff1[10010];int ff2[10010];int ans

2017-08-10 17:27:55 233

原创 codeforces 834-A. The Useless Toy

点这里没看见空格。。一直找错。。水题#include #include using namespace std;char tt1[5]="v";char tt2[5]="v>^<";char tt3[5];int main(){ while(gets(tt3)!=NULL) { int d,f1=0,f2=0; scanf(

2017-08-08 20:07:51 297

原创 hdu 2841 Visible Trees

点这里素数打表素因子分解容斥定理固定m 在1-n中找与m互质的数#include #include #include #include using namespace std;const int maxn=1e6+5;int prime[maxn];int vis[maxn],cnt,p;typedef long long ll;ll gcd(ll n, ll

2017-08-08 19:21:14 212

原创 hdu 4059 The Boss on Mars

点这里题目大意:求1-N-1之间和N互质的数的四次方和快速幂求逆元容斥原理素数打表素因子分解二进制枚举子集高次求和这里有一个公式点击打开链接也可以现推由三次推N^2由五次推N^4大体思路就是素因子分解得到的因子组合,然后用到容斥原理,奇数个因子的情况加到一起,偶数个因子的情况减,然后求高次和的时候,涉及到取模所以要求1e9的逆元,

2017-08-07 16:37:17 264

原创 uva 10325 The Lottery 枚举子集+容斥原理

点这里容斥原理可以看看这篇http://blog.csdn.net/yangdelu855/article/details/76832254突然发现了个好玩的东西枚举子集找出0-9的所有子集#includeint main(){ int n=10; for(int i=0; i<(1<<n); i++) { for(int j

2017-08-07 14:45:27 327

原创 51nod 1284 2 3 5 7的倍数 容斥原理

点这里首先关于容斥原理设满足一件事(n1||n2||n3||n4......)那么容斥原理的计数就等于=+(满足奇数个条件的数目)-(满足偶数个条件的数目) 这道题里需要找出同时不是2,3,5,7倍数的个数,也就相当于找出是2,3,5,7的倍数个数,然后用总数减掉,就得到最终结果所以满足一个条件即为 是2的倍数或3的倍数或5的倍数或7的倍数满足两个条件即为 2的倍数

2017-08-07 12:34:25 397

原创 51nod 1001 数组中和等于K的数对

点这里暴力题还是二分速度快#include #include #include using namespace std;int n,k;int tt[50005],xx[50005];int main(){ while(cin>>k>>n) { int f=0; for(int i=0; i<n; i++)

2017-08-04 20:23:20 226

原创 hdu 3944 DP?

点这里TLE到WA。。改了无数次的代码。。最后差在取模少了一次看了题解就一直被题解牵着走。。。。。解释有大佬的博客写的很清楚。。记个教训#include #include #include using namespace std;typedef long long ll;int f[10005][10005],mf[10005][10005];int pri

2017-08-04 17:00:42 249

原创 hdu 1452 happy2004

点这里和poj1845异曲同工可以看看这篇点击打开链接#include #include #include #include #define mod 29using namespace std;typedef long long ll;int prime[1000005];int vis[1000005],cnt;void init(){ cnt = 0;

2017-08-03 16:37:57 253

原创 poj 1845 Sumdiv 素数筛+快速幂求逆元+二分乘法

点这里站在巨人肩膀上做题。。。。这里有一篇写的很清楚的文章点击打开链接下附部分截图因子和的公式这道题如果知道如上的公式 就比较容易解了 所以结果为ans%=mod注意乘法的时候需要用二分乘法  直接乘会爆long long然后快速幂 求逆元A/B mod C = (A mod (B*C))/ B #include &lt;i...

2017-08-03 15:17:02 466

原创 codeforces B. The number on the board

点这里一开始题意理解错了。。。就是要求使一个数k的每一位数的总和小于n#include #include #include #include using namespace std;char x[100005];int t[100005];bool cmp(int a,int b){ return a>b;}int main(){ int n;

2017-08-02 11:51:37 287

原创 codeforces A. Key races

点这里水题 吃了没文化的亏 翻译了才明白过来题意#include #include #include #include #include using namespace std;int main(){ double s,v1,v2,t1,t2; while(~scanf("%lf%lf%lf%lf%lf",&s,&v1,&v2,&t1,&t2))

2017-08-01 19:35:01 250

原创 51nod 1103 N的倍数 抽屉原理

点这里第一种情况把和取模存到数组判断为0直接输出第二种情况大佬写的代码简直。。。抽屉原理有N个数 N+1个和而取模后只有0-N-1个数所以至少有一组相等相等的两数相减之后就是我们要求的第二种情况注意输出一组解就可以了这道题是Special judge 有多组解抽屉原理好神奇。。。。#include #include #include

2017-08-01 13:15:49 281

原创 hdu 5688 2016"百度之星" - 资格赛 Problem D

点这里。。不知道map的用法就一直TLEmap:可以用来遍历数据

2017-08-01 11:59:32 235

原创 hdu 5685 2016"百度之星" - 资格赛(Astar Round1)Problem A

点这里一道需要注意角标的题打表快速幂求逆元#include #include #include #include #include using namespace std;const int mod=9973;typedef long long ll;ll an[100005];char l[100005];long long pow1(long long n

2017-07-31 23:12:38 235

原创 hdu 1047 Integer Inquiry 大数加法

点这里#include #include #include #include using namespace std;int main(){ int a; char s[200]; int shu[200][200],max,i,l,len,p,k,bb,j; int ans[200]; int h,t,ys; scanf("%d"

2017-07-31 22:28:25 251

原创 hdu 1021 Fibonacci Again

点这里暴力水题#include #include using namespace std;int f[1000000];int main(){ int a; while(~scanf("%d",&a)) { f[0]=1; f[1]=2; for(int i=2;i<1000000;i++) f[i]=(f

2017-07-31 22:24:20 200

学生信息管理系统 C语言实习

C语言实习做的简单管理系统 用制表符做了一个类表格效果 记得调控制台大小

2017-12-28

空空如也

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

TA关注的人

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