自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

风城

静能生慧,勤能补拙,天道酬勤

  • 博客(26)
  • 收藏
  • 关注

原创 LightOJ1035 Intelligent Factorial Factorization(算数基本定理)

LightOJ1035 求n!的各个的算数基本定理分解 n的数据很小只有100,所以调用,并把每个位数e[i]加起来就可以了 输出写的比较丑陋…AC代码:#include <bits/stdc++.h>using namespace std;const int maxn=100+5;bool visit[maxn];int prime[maxn],e[maxn],n;void pri

2016-09-30 01:51:21 489

原创 Lightoj1370 Bi-shoe and Phi-shoe

Lightoj1370 寻找使得x<=phi(y)最小的y,原本以为是一道euler函数的裸题,套上euler函数的模版TLE 写几项发现,y就是比x大的最小素数,素数打表,之后线性时间打p[i]数组求解,就不会再超时。AC代码:#include <bits/stdc++.h>typedef long long ll;using namespace std;const int maxn=

2016-09-29 23:56:54 457

转载 HDOJ 3264 Open-air shopping malls 计算几何 二分

计算几何的圆的模板题+二分判断题目中给了n个圆,要求:在这n个圆中取某个圆的圆心,然后找到最小的半径,使得这个新的圆与这n个圆的相交面积,会不小于这n个圆的面积的一半说起来,很绕口,但是因为n不大,是可以枚举的!对于每个圆心,我们都求一个最小的半径,然后n个值中间取最小的就是答案那么,如何求得这个最小呢?很简单,化计算性问题为判定性问题我们二分半径,然后验证这个半径会不会满足题中面积的条件代码如下:

2016-09-27 14:44:40 329

原创 HDU2276 Kiki & Little Kiki 2 矩阵快速幂

HDU2276 题目是一个常见的一路路灯开开关关的问题,要求1代表开灯,0代表关灯,整个路灯围成一个圆,并且当该路灯的左边的路灯是开着的,即1时,状态翻转,其余情况状态不变。 分析状态变化: 得到转台转移矩阵后,矩阵快速幂套路即可 AC代码:/*************************************************************** By: Xingxi

2016-09-26 23:43:43 376

原创 HDU 2669 Romantic扩展欧几里得

HDU2669 首先题目描述和题目本身卵关系没有 就是求解不定方程的解的解,注意x的值必须大于零。 在模版e_gcd求得特解之后,需要知道该不定方程的通解: 利用它最小的正整数x AC代码:/*************************************************************** By: Xingxing* Date: 2016-09-27*

2016-09-26 21:47:22 413

原创 HDU1576 A/B 求乘法逆元模版

HDU1576A/B求A/B(mod9973),并且已经知道gcd(B,9973) = 1,所以 A/B(mod9973)=A*B^(-1)(mod9973),重在求乘法逆元:由于(B,9973)=1,利用费马小定理最简单,逆元即为B^(mod-2) AC代码:/*************************************************************** By

2016-09-26 21:05:02 322

原创 HDU2256 Problem of Precision 构造递推式+矩阵快速幂

HDU2256 直接去求double会损失精度,肯定不行,所以要构造递推关系去求解 最后注意一下负数取模的处理 AC代码:/************************************************ * By: Xingxing * * Date: 2016-09-26

2016-09-26 00:45:56 386

原创 HDOJ 4549 M斐波那契数列 矩阵快速幂+欧拉降幂公式

HDOJ4549问题递推比较最后的形式为: 其中F(n)为斐波那契数列先用矩阵快速幂求斐波那契数的通项F(n)与F(n-1),由于他们在指数位置上,算出来非常大,所以需要用到欧拉降幂公式,其中(mod)=mod-1,1e9+7是个素数。 最后,用快速幂把F(n)结果算出来即可 AC代码:/***************************************************

2016-09-23 20:16:24 764

原创 HDU 5894 hannnnah_j’s Biological Test 组合数取模

HDU5894 问题是求n个不同座位围成一个圆,m个孩子至少间隔k个座位坐,一共有多少种方法。 首先,第一个孩子做,有n种方法。 第一个孩子坐下后,剩下的能够坐的座位有n-1-k*m,将间隔的椅子拿走 剩下的m-1个孩子们一共还有,又因为这是一个圆排列,所以要除以孩子的总数m,最终的结果为中方法。上面仔细思考是用意确定的,接下来是题目的关键,大组合数取模 第一种,利用逆元:因为mod=1e9

2016-09-23 01:22:24 487

原创 HDU 2842 Chinese Rings 递推+矩阵快速幂

HDOJ2842 Chinese Rings 自己手动推一下前几项,找到递推规律 得到 从而得到状态转移矩阵 利用矩阵快速幂求解即可 AC代码:/************************************************************************* > File Name: hdu2842.cpp > Author: X

2016-09-22 02:18:48 331

原创 HDU 5895 矩阵快速幂+欧拉降幂公式+指数循环节

题目链接:HDU5895 注意到题目的数据非常之大,并且递归之后求的指数幂非常之大,所以要先知道欧拉降幂公式: ,相当于想成了指数的循环节。 根据递推关系得到: 建立矩阵: 用矩阵快速幂求解出g(n*y),之后再利用快速幂取模求出最后的结果由于数据很大,过程中把数据开大,及时取模。AC代码:#include <cstdio>#include <cstring>#include<

2016-09-21 14:42:38 1941 1

原创 HDU2604 递推关系+矩阵快速幂

HDU2604Queuing 题目大意求n阶序列,每一位可以填f或者m,求不存在fff或者fmf的字串的个数,根据题目建立递推关系式: 之后用矩阵快速幂套路掉 AC代码:#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int N=4;int l,mod

2016-09-21 13:15:38 391

原创 HDU5879 级数打表

HDU2604Queuing 问题是求,n没有给定范围,应该是无限大,但是题目的精度卡在1e-5是一个世纪难题,但是该问题存在极限PI26\frac{PI^2}{6},这里有它详细的证明,很NB,巴塞尔问题极限证明打表确定n的上限:/************************************************************************* > Fil

2016-09-21 13:10:05 432

原创 CodeForce185A 数学+快速幂取模

A. Plant“` A题必然不会是一道难题。 题目的模型是我们平时最熟悉的划分三角形问题,求的是n次划分后头向上的三角形的个数 枚举找规律猜想,发现向上的三角形的个数为: 1+2+3+到2^n=(1+2^n)*2^(n-1) 根据题目的范围,这是个大数,需要进行快速幂取模运算 AC代码:/*************************************************

2016-09-20 01:47:02 569

原创 HDU 1061 快速幂

HDU1061 求N^N(mod10)的值,最简单就是mod10乘 在这里试了一下快速幂的模版,注意数据开long long 或者__int64才能存下/************************************************************************* > File Name: HDU1061.cpp > Author:Xingxi

2016-09-20 00:50:41 339

原创 HDU 1575 矩阵快速幂裸题

套矩阵快速幂模版,中间步骤及时mod即可/************************************************************************* > File Name: HDU1575.CPP > Author: Xingxing > Created Time: 2016/9/19 23:30:31 **************

2016-09-20 00:01:48 311

原创 HDU 1757 矩阵快速幂模版

矩阵快速幂模版题,注意k<10的初值即可。#include <iostream>#include <cstdio>#include <cmath>#include <cstring>const int N=10;int k,mod,a[10];using namespace std;struct mat{ int m[N][N]; mat() {} mat un

2016-09-19 23:24:47 313

原创 Light OJ 1239 计算凸包周长

看懂题目大意后,和POJ1113非常像,求一个凸包周长加上圆的周长 建立凸包,求周长,出结果即可,注意精度,不过用double比较保险#include <iostream>#include <cstdio>#include <cmath>#include <algorithm>using namespace std;const double eps=1e-10;const double

2016-09-18 01:04:51 313

原创 CodeForce 711B

水题,WA了好几发,有两个WA点: n=1时的判断和最后(sum-temp)<=0的判断 比赛时差点没做出来,丢人的六发#include <iostream>#include <cstdio>const int maxn=500+10;__int64 a[maxn][maxn];using namespace std;int main(){ //freopen("input.

2016-09-17 16:55:29 340

原创 Light OJ 1203 凸包+寻找凸多边形最小角度

题目的意思不难理解,就是求凸包中最小角度 首先构造凸包,之后求最小的角度(<180) 注意有一个陷阱,当角度为180度时,假设图形中仅仅只有一个点,实际的角度应该是0度,这点需要特判. WA了一天才发现.#include <iostream>#include <cstdio>#include <cmath>#include <algorithm>const double PI=acos

2016-09-14 23:54:28 490

原创 POJ 1113 入门凸包

自己的第一法凸包 思路就是,建立凸包,求凸包周长加上圆的周长,主要练模版#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>const double eps=1e-8;const double PI=acos(-1);const int maxn=1000+

2016-09-14 00:09:03 470

原创 POJ 2007 极角排序

题目扯了那么多,又是算斜率, 又是不同象限的,最后就是一个极角排序 注意,这里的极角排序是一般grahm-scan算法的逆序即可#include <iostream>#include <cstdio>#include <cmath>#include <cstring>#include <algorithm>const int maxn=55;const double eps=1e-8;

2016-09-14 00:05:42 340

原创 POJ 1696 极角排序

题目中指定了ant爬行时的几种规则,从中我们可以知道ant是按照当前所处位置,对其他的plant进行极角排序后,选择角度最小过去,重复,一直到走到最后一个plant。 sort一发就可以了#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>const doubl

2016-09-13 15:58:31 277

原创 POJ 2074 直线相交

思路比较直接。 根据house的位置与每一个obstruction之间的相对位置,求出在line上不能够看到的区域Area的位置。 对所有的位置进行线性扫描,找出最长的通视距离,这个扫描过程需要细致。 最后还有几个致命的trick,自己动手吧,WA看dicuss中的测试数据.#include <iostream>#include <cstdio>#include <cmath>#incl

2016-09-08 14:56:24 351

原创 UVA 5096 求两圆柱相交体积

我不知道什么牟合方盖,但是我学过高数. 这不是一道几何题,应该是一道高数微积分题目,考研的有兴趣可以做一做。所以,最后的程序就容易写出来了#include <iostream>#include <cstdio>#include <cmath>const double PI=acos(-1);using namespace std;int main(){ //freopen("in

2016-09-07 00:38:13 2113

原创 POJ 1309 线段与直线相交+枚举

线段与直线相交时,端点重合情况需要考虑, 所以是不规范相交。 枚举时注意逻辑,不重不漏。 模版运用需要灵活.#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#define maxn 20+5const double eps=1e-8;int sgn(double x){ if(fabs

2016-09-03 12:38:27 366

空空如也

空空如也

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

TA关注的人

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