E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
DP-组合计数
UVa 11806 - Cheerleaders (
组合计数
+容斥原理)
《训练指南》p.108 #include <cstdio> #include <cstring> #include <cstdlib> using namespace std; const int MOD = 1000007; const int MAXN = 500; int C[MAXN][MAXN]; void ini
·
2015-11-13 03:35
uva
[SGU222 Little Rooks]
[关键字]:数学
组合计数
[题目大意]:在一个n*n的棋盘里放k个车,问使它们不能互相攻击的摆放方案有多少种。
·
2015-11-13 00:14
OO
POJ 3356 AGTC(
DP-
最小编辑距离)
Description Let x and y be two strings over some finite alphabet A. We would like to transform x into y allowing only operations given below:
·
2015-11-12 21:03
poj
dp-
史上最戳最长最臭代码-hdu-4733-G(x)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4733 题目大意: 定义G(x)=x⊕(x>>1).给两个由0、1、?组成的长度相同的字符串S1,S2.其中?表示0、1状态不确定,求有多少种p,使得G(p)=S1,G(p+1)=S2 如果p唯一,则输出G(p)和G(p+1)(注意这中间不能有问号)。 解题思路: 这是我写的
·
2015-11-12 20:22
HDU
hdu 3908 Triple(
组合计数
、容斥原理)
Triple Time Limit: 5000/3000 MS (Java/Others) Memory Limit: 125536/65536 K (Java/Others) Total Submission(s): 1365 Accepted Submission(s): 549 Problem
·
2015-11-11 19:22
HDU
ZOJ 3213 Beautiful Meadow(插头
DP-
一条路径最大值,不固定头尾)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3396 题意:给定一个n*m的寻宝图。有些位置不能走,其余位置每个位置都有一个宝藏。从一个位置出发到另一个位置结束(这两个位置都是可以自己选择的),每个格子最多走一次。求最大价值。 思路:第一道头尾不固定的单路径。增加了一个Num,表示当前已经使用的独立插头的数目,
·
2015-11-11 14:29
ZOJ
HDU 3377 Plan(插头
DP-
路径最大值)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3377 题意:给出一个n*m的数字格子。从左上角出发到达右下角,每个格子最多走一遍。求最大值。 思路:设格子是(1,1)到(n,m),将(0,1)增加下插头,将(n+1,m)格子设为可走。另外,对于没有左和上插头的格子,可以不设插头。 #include <iostream> #in
·
2015-11-11 14:28
HDU
ZOJ 3256 Tour in the Castle(插头
DP-
按行递推—矩阵)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3540 题意:给出一个n*m的方格。从左上角走到左下角每个格子只能走一次。有多少种? 思路:首先,按行递推,得到一个矩阵,表示两个状态是否可以连接。那么最关键的判断两行是否可连接。上一行的一个状态,枚举当前行的插头的状态,就是有无插头,2^n,然后根据上一行的插
·
2015-11-11 14:27
cast
HDU 1964 Pipes(插头
DP-
回路最小代价)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1964 题意:给定一个n*m的格子,以及相邻格子之间的代价。求一个代价最小的回路。 思路:每次用最小的代价更新;每次转移时加上转移代价。 #include <iostream> #include <cstdio> #include <string.h>
·
2015-11-11 14:26
HDU
状态压缩
DP-
棋盘模型总结
论文:《周伟ftfish --- 动态规划之状态压缩》 关键之处在于: ①针对棋盘不同限制用dfs把每行可行的状态压缩表示成一个数存到s[]。 ②枚举当前处理行和上一行的状态时根据题目限制判断状态是否互斥。 ③有时棋盘上会有些点不能放置,我们也把一行中不能放置的点压缩成一个数存到no[]中,比如用00011000表示第3列和第4列不能放置。然后处理当前行时如果s[j1] & no[i] =
·
2015-11-11 12:31
总结
状态压缩
DP-
棋盘模型总结
论文:《周伟ftfish --- 动态规划之状态压缩》 关键之处在于: ①针对棋盘不同限制用dfs把每行可行的状态压缩表示成一个数存到s[]。 ②枚举当前处理行和上一行的状态时根据题目限制判断状态是否互斥。 ③有时棋盘上会有些点不能放置,我们也把一行中不能放置的点压缩成一个数存到no[]中,比如用00011000表示第3列和第4列不能放置。然后处理当前行时如果s[j1] & no[i] =
·
2015-11-11 12:30
总结
一般的排列
组合计数
公式
在n个不同的元素中: 若取 r 个按次序排列, 则成为从n中取r个排列,其排列数为:P( n, r )=( n! ) / ( n-r )! 。 如取出 r 个二不考虑起次序,则称为 从n中取 r 个组合, 其组合数为:C( n, r ) = ( n! )/[ ( r! ) *( n-r )! ] 。
·
2015-11-11 06:01
组合
HDU 4390 Number Sequence(容斥原理+
组合计数
)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4390 题意:给出n个数字b1,b2,……,bn。求有多少个有序序列a1,a2,……,an,满足b1*b2*……*bn=a1*a2*……*an?(ai>1) 思路:首先分解质因数,存下每个质因子出现的次数。其次,容斥原理还是比较好想的,设f[n]表示n个数字(可以有1),那么 P是出现的
·
2015-11-09 14:52
sequence
codeforce 111D Petya and Coloring(
组合计数
)
题目链接:http://codeforces.com/contest/111/problem/D 题意:给出一个n*m的方格,用K种颜色染色。定义A[i,j]表示第i列到第j列所有格子不同的颜色数。求有多少种染色方案使得所有的1<=i<m,满足A[1,i]=A[i+1,m]? 思路:首先可以得到: (1)A[1,1]=A[m,m],也就是第一列和最后一列不同的颜色数相同。否则,不
·
2015-11-09 14:51
color
[报告]ZJU 3648 Gao the Grid II
Abstract ZJU 3648 Gao the Grid II
组合计数
不等式 Body 第一次把一场浙大月赛的题目全部做完呢~对于小女这样的菜鸟来说,算是不小的成就
·
2015-11-09 14:22
grid
[报告]ZJU 3651 Cipher Lock
Abstract ZJU 3651 Cipher Lock
组合计数
DP 矩阵乘法 Body Source http://acm.zju.edu.cn/onlinejudge
·
2015-11-09 14:21
Lock
poj 3088
组合计数
,第二类斯特林数
题意:给出n个数字[1,n],问你可以组成多少种不同的序列,其中每一个序列由几个部分组成,每个部分包含几个数字,每部分内数字无序,部分之间数字有序。每个数字最多使用一次,可以不用。 思路:枚举从n个数字中选出i个数字(组合数),再枚举将这i个数字分成j个部分(第二类斯特林数),然后乘上j的全排列。 1 #include <iostream> 2 #include <c
·
2015-11-09 13:12
poj
Abandon の
DP-
动态规划【专辑】(长期更新)
—— “Hala, Abandon!”~ ------------------------------------------------------------- ◊线性DP: 经典DP原型系列: °NOIP 1999 拦截导弹 (最长下降子序列入门) 思路:比较简单,第一问最长不上升子序列;第二问贪心即可(有人证明第二问等价于求最长
·
2015-11-08 16:31
动态规划
hdu5136:
组合计数
、dp
题目大意: 求直径长度为N的无根二叉树的个数(同构的只算一种) 分析: 分析发现直径长度不好处理!因此考虑把问题转化一下: 假设要求直径为N的二叉树 (1) 若N为偶数,将树从直径中点的边断开,则分成了两个深度为 n/2 的有根树 (为什么要这么分?因为若深度大于 n/2 那么子书的直径就有可能大于n了!) 用num[n/2]代表n/2的有根树的个数 那么答案则为 c(
·
2015-11-08 14:33
HDU
codeforces 277.5 div2 F:
组合计数
类dp
题目大意: 求一个 n*n的 (0,1)矩阵,每行每列都只有两个1 的方案数 且该矩阵的前m行已知 分析: 这个题跟牡丹江区域赛的D题有些类似,都是有关矩阵的行列的覆盖问题 牡丹江D是求概率,这个题是方案数,也比较相似。。 这种题中,因为只要求方案数。。我们只要关注几行几列有几个1,而不必要关注具体的位置 题解: 行列都需要处理,因此考虑记录列的状态,然后一行一行的转移 最暴力的
·
2015-11-08 14:14
codeforces
HDU 3555 Bomb (数位
DP-
记忆化搜索模板)
题意 求区间[1,n]内含有相邻49的数。 思路 比较简单的按位DP思路。这是第一次学习记忆化搜索式的数位DP,确实比递推形式的更好理解呐,而且也更通用~可以一般化: 【 数位DP模板总结】 int dfs(int pos, int pre, int flag, bool limit) { if (pos == -1) return flag==target_flag; if
·
2015-11-07 15:44
HDU
HDU 3555 Bomb (数位
DP-
记忆化搜索模板)
题意 求区间[1,n]内含有相邻49的数。 思路 比较简单的按位DP思路。这是第一次学习记忆化搜索式的数位DP,确实比递推形式的更好理解呐,而且也更通用~可以一般化: 【 数位DP模板总结】 int dfs(int pos, int pre, int flag, bool limit) { if (pos == -1) return flag==target_flag; if
·
2015-11-07 15:30
HDU
HDU-2089-数位
DP-
不要62
题意求区间[N,M]中求不含62及4的个数思路数位DP/*************************************************************************>FileName:main.cpp>Author:Chazz>CreatedTime:2015年11月04日星期三15时42分51秒********************************
sinluan
·
2015-11-04 17:00
HDU-1176-数塔
DP-
免费馅饼
题意都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼。说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内。馅饼如果掉在了地上当然就不能吃了,所以gameboy马上卸下身上的背包去接。但由于小径两侧都不能站人,所以他只能在小径上接。由于gameboy平时老呆在房间里玩游戏,虽然在游戏中是个身手敏捷的高手,但在现实中运动神经特别
sinluan
·
2015-11-04 17:00
ACM
[hdu5218]
DP-
约瑟夫环变形
题意:n个人围成一圈,另外一个人最开始站在第一个人前面,每次从集合s里面随机选一个数x,这个人顺时针经过x个人后停下来,当前位置的前一个人出队,然后继续进行,求最后剩下的那个人的可能编号。 思路:由于只求最后一个人的编号,可以将一次操作后的人进行重编号,来进行状态转移,转化为子问题用dp来解决。dp方程比较容易写出,注意下细节就好了。 1 #pragma comment(linke
·
2015-11-02 16:51
约瑟夫环
组合数学
组合数学的主要内容有
组合计数
、组合设计、组合矩
·
2015-11-02 14:24
数学
HOJ---10814 Wooden Sticks[线性
DP-
求最少不递增子序列+结构体排序]
Wooden Sticks Time Limit: 1000ms, Special Time Limit:2500ms, Memory Limit:32768KB Total submit users: 145, Accepted users: 127 Problem 10814 : No special judgement Problem descript
·
2015-10-31 11:47
结构体
【
DP-
最大子串和】PAT1007. Maximum Subsequence Sum
1007. Maximum Subsequence Sum (25) 时间限制 400 ms 内存限制 32000 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Given a sequence of K integers { N1, N2, ..., NK }. A contin
·
2015-10-31 10:30
sequence
HDOJ---2159 FATE[
DP-
背包问题]
FATE Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3984 Accepted Submission(s): 1763 Problem Desc
·
2015-10-31 10:28
dp
ZOJ-3380 Patchouli’s Spell Cards DP,
组合计数
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3380 题意:有m种不同的元素,每种元素都有n种不同的相位,现在假设有每种元素各一个,其相位是等概率随机的。如果几个元素的相位相同,那么帕琪就可以把它们组合发动一个符卡(Spell Card)。现在问帕琪能够发动等级不低于l,即包含l个相同相位的不同元素的
·
2015-10-30 13:17
SPEL
快速傅里叶变换应用之二 hdu 4609 3-idiots
初始实在没发现这个怎么和FFT联系起来,后来看了下别人的题解才突然想起来:
组合计数
问题可以用多项式的卷积来解决。于是将给的数据进行卷积相乘,利用FFT即可求出三角形任意两条线段组合的可能数目。
·
2015-10-27 13:51
HDU
HDU 4372 - Count the Buildings(
组合计数
)
首先想过n^3的组合方法,即f(i,j,k)=f(i-1,j,k)*(i-2)+f(i-1,j-1,k)+f(i-1,j,k-1),肯定搞不定 然后想了好久没有效果,就去逛大神博客了,结果发现需要用到第一类stirling数 第一类stirling数S(n,m)表示的是n个数排成m个非空环排列的数目 每个环排列中必然有一个是可以看见的,然后再对这m个环求组合数 不难理解,但是很难想到 &
·
2015-10-23 08:54
Build
UVA 12563 Jin Ge Jin Qu hao
dp-
背包 开始用普通dp写了一发发现没法确定最大时间。。。 后来看到大牛机智的写法,嗯。。。
·
2015-10-23 08:24
uva
黑书-
DP-
方块消除 ****
具体题目见 《算法艺术与信息学竞赛》P123 或 http://tyvj.cpwz.cn/Problem_Show.asp?id=1227 (可提交) 以下是代码(转自:http://www.cnblogs.com/jiaohuang/archive/2010/10/20/1856294.html) 1 /* 2 方块消除 3 先压缩下状态用把每种颜色压到一位,记录下每一位的长度
·
2015-10-21 12:57
dp
简单
DP-
艰难取舍
艰难取舍(seq.cpp/c/pas)【题目描述】由于hyf长得实在是太帅了,英俊潇洒,风流倜傥,人见人爱,花见花开,车见车载。有一群MM排队看hyf。每个MM都有自己独特的风格,由于hyf有着一颗包容的心,所以,什么风格的MM他都喜欢……但是,hyf有一个特别的要求,他不希望总是看到风格得差不多的MM,更加特别的是,如果两个MM风格完全一样,hyf不会有任何意见。现在,hyf希望从去看他的MM中
Darksun2010
·
2015-10-19 15:00
2015 暑假集训14级第一周周赛解题报告
参考代码:http://paste.ubuntu.com/11978075/B.
组合计数
首先排序,然后可以在O(n)复杂度内求出每个hero所能拿的sword的最大范围。
u013013910
·
2015-08-01 16:00
ACM
周赛
swust oj 2516 教练我想学算术 dp+
组合计数
#include #include #include #include #include #include #include #include #include //#definedebug usingnamespacestd; constintinf=0x3fffffff; constintmod=1000000007; constintmmax=1000010; typedeflonglong
u012127882
·
2015-06-08 20:00
组合计数
不过对角线走格子问题例1:给出一个n*n的网格图,问从格点(0,0)走到(n,n),不越过但可以接触到y=x这条直线的方案数。答案即卡特兰数第n项。卡特兰数普通递推公式:Ca(n,m)=Ca(n−1,m)+Ca(n−1,m−1)通项:Ca(n)=1n+1(2nn)另类递推式:Ca(n)=4n−2n+1Ca(n−1)例2:给出一个n*m的网格图,问从格点(0,0)走到(n,m),不越过但可以接触到直
Yves___
·
2015-05-13 21:00
POJ 1463 Strategic game(树形
DP-
树上的点集覆盖模型)
题意:一城堡的所有的道路形成一个n个节点的树,如果在一个节点上放上一个士兵,那么和这个节点相连的边就会被看守住,问把所有边看守住最少需要放多少士兵。思路:和最大独立集的思路差不多,转移方程差不多,用0,1表示子树的根放不放士兵 dp[root][0]+=dp[son][1]; dp[root][1]+=min(dp[son][1],dp[son][0]); #include #include
kalilili
·
2015-03-29 09:00
HDU 1520 Anniversary party(树形
DP-
最大独立集)
大意:很多领导,能形成一个树形关系网,这些领导参加一个party,每个人都有一个能使party活跃的值,但是每个人又不喜欢跟自己的直接领导同时参加party。为使party气氛最好,求最好气氛值。思路:法一:对子树的根按两种决策找到状态方程,然后用刷表法法二:细化状态,dp[i][0],dp[i][1]分别表示不选i时的最大集和选了i时的最大集法二的方法更实用,状态细化后更便于找状态方程法二代码:
kalilili
·
2015-03-29 09:00
Combinations(
组合计数
)
Link:http://poj.org/problem?id=1306CombinationsTimeLimit: 1000MS MemoryLimit: 10000KTotalSubmissions: 8780 Accepted: 4081DescriptionComputingtheexactnumberofwaysthatNthingscanbetakenMatatimecanbeagrea
Enjoying_Science
·
2015-03-17 15:00
算法
优化
ACM
Binomial Showdown(
组合计数
模板)
Link:http://poj.org/problem?id=2249BinomialShowdownTimeLimit: 1000MS MemoryLimit: 65536KTotalSubmissions: 18459 Accepted: 5635DescriptionInhowmanywayscanyouchoosekelementsoutofnelements,nottakingorder
Enjoying_Science
·
2015-03-17 14:00
优化
算法
ACM
POJ3342 Party at Hali-Bula(树的最大独立集-树形
DP-
刷表法)
题意:给定一个树,选择若干点,使得选择的结点中任一结点不会和它的子结点同时选择,求能选结点最大数量。同时判断方案数是否为一。思路:树的最大独立集,用树形dp,dfs一遍找每个结点的父亲,是为了从下向上刷每个结点儿子的最大独立集和and每个结点孙子的最大独立集和的表判断方案数是否唯一同样在树形dp的同时递推判断即可算法复杂度可以是线性//248K0MSC++ #include #include #i
kalilili
·
2015-03-14 11:00
poj3140--Contestants Division(树形
dp-
水题)
ContestantsDivisionTimeLimit: 2000MS MemoryLimit: 65536KTotalSubmissions: 8469 Accepted: 2420DescriptionInthenewACM-ICPCRegionalContest,aspecialmonitoringandsubmittingsystemwillbesetup,andstudentswill
u013015642
·
2015-03-13 19:00
UVA 10453 Make Palindrome(区间
dp-
补全回文串+打印结果)
题目大意:给一个字符串,要求添加最少个字符,把它变成回文串,并输出。思路:区间dp,dp[i][j]表示区间(i,j)内的字符串添加的最少个数,变成回文串那么,如果str[i]==str[j],dp[i][j]=dp[i+1][j-1]+1否则dp[i][j]=min{dp[i+1][j],dp[i][j-1]}+1;题目要输出方案,那么只要再开一个数组,根据状态转移递归输出即可#include
HelloWorld10086
·
2015-02-04 10:00
uva
10453
【gcj 2008 1a、b】素数集合记数,扑克环、奶茶、共轭数次方和取整
CropTriangleshttp://code.google.com/codejam/contest/32017/dashboard#s=p0
组合计数
问题,每个tree看成class[i=x%3][j
brandohero
·
2015-01-12 03:00
dp-
整数划分问题(理论分析)
原文地址:http://www.cnblogs.com/wanghetao/archive/2013/11/25/3442192.html描述整数划分是一个经典的问题。请写一个程序,完成以下要求。 输入每组输入是两个整数n和k。(1j时,可以根据划分中是否含有j分为两种情况。若划分中含有j,划分方案数为dp[i-j][j];若划分数中不含j,相当于将i划分为不大于j-1的划分数,为dp[i][j
u012349696
·
2014-09-24 20:00
dp
动态规划
离散数学及其应用——ch7 高级计数
在第五章学习了基本的
组合计数
知识后,我们终于在第七章迎来了更高级的
组合计数
知识,把这章介绍的内容与第五章的内容合并起来,就形成了我们的组合数学工具箱,可以解决一大堆计数问题了,在计算机编程过程中很多问题其实都可以用计数模型进行建模
DeepSea0920
·
2014-09-10 11:14
F
数据科学
Codeforces 109C Lucky Tree
组合计数
+dfs
题目链接:点击打开链接题意:给定n个点的树,有边权。定义luckynumber:数字只有4或7组成对于一个三元组(i,j,k)若path(i,j)路径上的数字存在luckynumber&& path(i,k)路径上的数字存在luckynumber则三元组合法。问有多少个合法的三元组。((i,j,k)!=(i,k,j))用全集-补集。dfs出每个只由非luckynumber构成的联通块的点数x。然后
qq574857122
·
2014-09-02 16:00
离散数学及其应用——ch6 离散概率论
可以说概率论和
组合计数
同宗同源——都源于人类对赌博的热爱,概率论旨在对不确定性进行研究,比如买彩票是否会中奖等等。本章介绍概率论的一个子集,离散概率论,多说一句,概率论是测度论的一种特殊情况。
DeepSea0920
·
2014-09-01 15:56
F
数据科学
上一页
2
3
4
5
6
7
8
9
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他