ahu
acblacktea
永不放弃
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ahu355
#include<stdio.h> #include<string.h> #include<stdlib.h> int y,m,d,i,j,k,y1,m1,d1,t,sum1,r,sum2,a,b; int month[2][13]={0,31,28,31,30,31,30,31,31,30,31,30,31,0,31,29,31,30,31,30,31,31,30,31,30,31}; int s原创 2015-07-26 17:42:17 · 527 阅读 · 0 评论 -
aoj-737-欧拉函数模板
性质: 欧拉函数用希腊字母φ表示,φ(N)表示N的欧拉函数.对φ(N)的值,我们可以通俗地理解为小于N且与N互质的数的个数.欧拉函数的一些性质:1.欧拉函数是积性函数,但不是完全积性函数,即φ(mn)=φ(n)*φ(m)只在(n,m)=1时成立.2.对于一个正整数N的素数幂分解N=P1^q1*P2^q2*…*Pn^qn.φ(N)=N*(1-1/P1)(1-1/P2)…*(1-1/Pn).3.除了N原创 2016-05-13 15:09:51 · 482 阅读 · 0 评论 -
ahu-730-幸运抽奖
最多情况不超过long long,先DP打表再取模。 dp[52][1300][52] 一维代表此时选择的数的个数,二维代表此时的总和,三维代表此时选的最大数。 dp[i][j][k] = dp[i-1][j-1][1]+dp[i-1][j-2][2]+…dp[i-1][j-k1+1][k1]; 有很多情况不用递推可以剪掉。 思路太繁琐,有没有人用二维DP或组合数学AC的啊!!!#inclu原创 2016-04-09 15:55:53 · 399 阅读 · 0 评论 -
ahu-518-塔
水DP,排个序就不超时了#include<cstdio> #include<cstring> #include<algorithm> #include<cmath> using namespace std; int dp[2][510000],a[60],n; bool sym[2][510000]; int main() { while(scanf("%d",&n)!=EOF) {原创 2016-04-08 15:11:39 · 406 阅读 · 0 评论 -
ahu-563-3次幂分解
(1)把n化成三进制; (2)x位为0不考虑; (3)x位为2考虑成3^(x+1)-3^x;为1考虑成3^x; ( 4 )还有一些细节消除多余项自己考虑。。。#include<cstdio> #include<queue> #include<stack> using namespace std; int n,t; long long thi[30]; int main() { sca原创 2016-04-07 22:40:29 · 451 阅读 · 0 评论 -
ahu-557容斥原理
用容斥求1-n中能被2-i中素数整除的个数ans其中 i*i<=n;然后结果为n-ans-1;#include<cstdio> int pri[10005],pri2[10005],i1,n,ans; void toGetPrim(){ for(int i=2;i<=10001;i++) if(!pri[i]){ for(int j=2;j*i<=10001;j++原创 2016-03-12 14:16:15 · 460 阅读 · 0 评论 -
aoj-733-闭合折线
1.先按x从小到大排序,再按y从小到大排序,x值相同的各点数肯定为偶数且从下到上两两匹配形成一组线段 2.判断在点内点外的方法应该会几何的都知道。。。毕竟我这种渣货都能熟练敲出来。#include<cstdio> #include<cmath> #include<cstdlib> struct point{ int x,y; }p[20000],p1; int cmp(const void原创 2016-03-20 15:19:29 · 451 阅读 · 0 评论 -
ahu - 572
组合数学水题~~~#include <cstdio> #include <cstring> #include <cmath> #include <cstdlib> #include <queue> #include <stack> #include <set> #include <map> #include <time.h>//-----------------------分割线呵呵--------原创 2015-09-20 09:48:27 · 321 阅读 · 0 评论 -
ahu-497-最长起伏子序列
最长递增序列的变形dp,我又开始水了。。。。#include<cstdio> #include<cmath> #include<cstring> #include<cstdlib> #include<stack> #include<set> #include<queue> #include<map> #include<iostream> #include<algorithm> using names原创 2015-09-06 22:53:47 · 419 阅读 · 0 评论 -
ahu-595-撒哈拉大冒险
坑点:输入不能一个个字符输入,跟hd不一样数据坑 思路 循环 x=(x%n+n)%n+搜索队列 交了我的和硕神的代码,200ms和80ms,只是因为我的是用queue库函数,硕神手撸stack,所以说亲手撸的要节省很多时间。 第一道无限循环的题学会很多。#include <cstdio> #include <cmath> #include <cstring> #include <cstdli原创 2015-09-24 22:40:20 · 518 阅读 · 0 评论 -
ahu-746-梯田二分+bfs
1数据水2二分查找加速#include <cstdio> #include <cstring> #include <cmath> #include <cstdlib> #include <queue> #include <iostream> #include <algorithm> using namespace std; int i,j,k,t,map[110][110],color[110][1原创 2015-09-25 17:53:06 · 479 阅读 · 0 评论 -
ahu727美妙音乐
dp递推出第n个音符以1-m种音符结尾的最大值,然后输出这m个数的最大值,239ms,看前辈大牛14ms过的,不明觉厉。。#include<stdio.h> #include<string.h> #include<cmath> #include<cstdlib> #include<set> #include<queue> using namespace std; int n,m,i,j,k,t,x;原创 2015-09-05 10:06:32 · 850 阅读 · 1 评论 -
ahu 350 分解因式
数论知识略微加一点贪心思想,主要是学好数学啊。。。 把一个数(n<100000000)分解成质数相乘形式#include<stdio.h> #include<string.h> #include<math.h> #include<stdlib.h> int main() { int i,j,k,n,s,n1,i1; while(scanf("%d",&n)!=EOF) {原创 2015-07-29 14:39:09 · 635 阅读 · 0 评论 -
AHU524 桂园食堂
动归第一题,背包的模板。。。主要是浮点数精度的问题,在浮点数的表示法中,两个数之间的差值是用距离来表示的,因此相差极小的两个数,运算之后可能用同一个数来表示了。那么如何判断两个数相等呢?答案是:差值小于一个足够小的数,比如0.00000001这种。(硕神博客学来的。。。)然后要加0.01.#include<stdio.h> double a[120][10020]; int main() {原创 2015-07-29 18:03:09 · 832 阅读 · 0 评论 -
ahu 395 快速矩阵幂初学 + 矩阵快速幂模板
#include <cstdio> #include <string> #include <cmath> #include <iostream> using namespace std; const long long M = 10003; const long long N = 3; long long t,b,c=0,f1,f2; struct Node //矩阵 { long lon原创 2015-09-20 11:21:23 · 388 阅读 · 0 评论
分享