自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ACdreamer

欢迎关注知乎:https://www.zhihu.com/people/acdreamers/activities

  • 博客(15)
  • 资源 (3)
  • 收藏
  • 关注

原创 完全背包问题

题目:杭电1114 思路:动态规划之完全背包问题题目分析:给出了钱罐开始的重量e和装满后的重量f,然后给你n种硬币,每个价值为p,重量为w,求出最小的价值使钱罐的重量恰好为w如果不存在 输出This is impossible.状态转移方程:f[v]=min{f[v],f[v-w[i]]+p[i]}注意:一道简单的完全背包题(于0-1背包就是第二个for循环倒过来就行了),

2013-01-31 16:29:46 1454

原创 HDU1058 Humble Numbers

题目:Humble Numbers humble number从1为"始祖",剩下的所有数,其实都是在此基础上乘以2,3,5,7演化出来的,代码主要语句:f[t]=min(2*f[i],3*f[j],5*f[k],7*f[l]);#include #include using namespace std;int f[5843],n;int i,j,k,l;int

2013-01-30 16:23:25 2559 3

原创 HDU1421 搬寝室

题目:搬寝室 典型的DP,状态方程:dp[k][i]=min(dp[k-1][i-2]+(a[i]-a[i-1])^2,dp[k][i-1]);        dp[k][i] 表示 k 对物品在前 i 个物品的最小值#include#include#include#define N 2005using namespace std;int dp[N/2][N

2013-01-30 16:06:57 1124

原创 HDU1466 计算直线的交点数

计算直线的交点数 我们知道:n条直线互不平行且无三线共点的最多交点数max=1+2+……(n-1)=n(n-1)/2,但本题不这么简单,因为问题问的是:这些直线有多少种不同的交点数? 先来看个统计的方法:假设一共有n=a+b条直线(即n条直线分成2组,分别为a条和b条)则总的交点数= a内的交点数+b内的交点数+a,b之间的交点数我们来分析加入第N条直线的情况(

2013-01-30 14:47:11 1091

原创 HDU2588解析

题目:HDU2588 题意大概:给定N,M(2=M的个数。解法:数据量太大,用常规方法做是行不通的。后来看了别人的解题报告说,先找出N的约数x,         并且gcd(x,N)>= M,结果为所有N/x的欧拉函数之和。         因为x是N的约数,所以gcd(x,N)=x >= M;   设y=N/x,y的欧拉函数为小于y且与y互质的数的个数。

2013-01-26 15:56:56 3968 1

原创 next_permutation函数

next_permutation的函数声明:#include  bool next_permutation( iterator start, iterator end );可以看到 next_permutation 的返回值是布尔类型,写了一个标准C++程序:在STL中还有perv_permutation()函数#include #include #include

2013-01-26 14:13:55 11933

原创 莫比乌斯反演

莫比乌斯函数值:int mobi(int n){ int m=1; for(int i=2;i*i<=n;i++) { if(n%i==0) { m*=-1; int k=0; do {

2013-01-25 15:26:18 57607 21

原创 Manacher算法

题目:最长回文 本来这道题可以用扩展KMP或者后缀数组来做,但是我感觉没有必要用青龙偃月刀来削苹果,下面就来介绍Manacher算法:Manacher算法专门用来求某个字符串的最长回文子串,时间复杂度为O(n). 首先,在字符串s中,用rad[i]表示第i个字符的回文半径,即rad[i]尽可能大,且满足: s[i-rad[i],i-1]=s[i+1,i+rad[i]]很明显

2013-01-22 19:59:33 2530

原创 连分数求解Pell方程

学习连分数请猛戳这里。 任何一个有理数一定可以唯一地写成有限连分数;可以证明:任何一个无理数一定可以唯一地写成无限连分数; 上次求Pell方程的特解时,采用的暴力求解,其实还有一种更有效的求解方法,那就是今天我要说的连分数。连分数的求解方法:欧几里德算法 利用连分数求解Pell方程的特解:   题目:Smith's Problem 题意:

2013-01-22 14:11:06 4660

原创 数学经典题目

数学编程中有许多有趣的题目,今天我来带领大家研究几道,以便对正在奋力刷题的ACMer有所帮助! 题目:http://poj.org/problem?id=2229 题意:给定一个正整数,求有多少种方法把它写成若干个2幂次的和。 分析:本题可以用递推的思路,我们可以明确,对于一个正整数,它的2的幂次和的表示分情况讨论 (1)如果为奇数,那么在这个表示中一定含有一个1,把这个1减去,就是的情况了。 (2)如果为偶数,那么也分情况,得到。 代码:[cpp] view plai

2013-01-21 00:22:45 2281

原创 斐波那契数列初级版

从今天开始,我会介绍一些关于斐波那契数列在ACM竞赛中的典型题目,以便广大的ACMer能从中受益,能更好地掌握它,本文名为斐波那契数列初级版,以后还会有斐波那契数列终极版。接下来让我们一起走进斐波那契数列的世界吧! 题目:http://acm.nefu.edu.cn/JudgeOnline/problemshow.php?problem_id=462 题意:已知是斐波那契数列,求如下表达式的值。

2013-01-20 14:06:54 2264

原创 第一类Stirling数和第二类Stirling

第一类Stirling数 s(p,k)    s(p,k)的一个的组合学解释是:将p个物体排成k个非空循环排列的方法数。   s(p,k)的递推公式:                                    s(p,k) = (p-1)*s(p-1,k) + s(p-1,k-1)  ,1    边界条件:

2013-01-19 23:33:14 16691 2

原创 离散化+树状数组求逆序数

题目:POJ2299 离散化是一种常用的技巧,有时数据范围太大,可以用来放缩到我们能处理的范围 因为其中需排序的数的范围0---999 999 999;显然数组不肯能这么大;而N的最大范围是500 000;故给出的数一定可以与1.。。。N建立一个一一映射;这里用一个结构体struct Node {      int v,order; }p[510000];和一个数组

2013-01-19 14:52:12 7020 2

原创 最长公共子序列问题

最长公共子序列,英文缩写为LCS(Longest Common Subsequence)。 其定义是,一个序列 S ,如果分别是两个或多个已知序列的子序列,且是所有符合此条件序列中最长的,则 S 称为已知序列的最长公共子序列。而最长公共子串(要求连续)和最长公共子序列是不同的。 最长公共子序列是一个十分实用的问题,它可以描述两段文字之间的“相似度”,即它们的雷同程度,从而能

2013-01-19 00:40:11 2278

原创 最大子段和

题目:Max Sum/** * 动态规划:计算最大子段和 * 算法描述: * 数组a 有n个元素, 记 s[i] 为从a[0]到a[i]中,包含a[i]的最大子段和 * 则: s[i] 的值为: s[i-1]>0时, s[i-1]+a[i],否则 a[i] * * p[i] 助于记录哪些单元被选择, p[i]=1 表示s[i]计算的结果中中使用了s[i-1]的值

2013-01-18 00:06:14 2835

Fibonacci数列与矩阵连乘

适合ACM-ICPC竞赛中关于Fibonacci数列和矩阵连乘的学习

2014-01-19

ACM数论概论好书

本书是对于ACM编程数论的好书,有很大帮助哦!

2013-05-02

空空如也

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

TA关注的人

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