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
hdu刷题记录
【数位DP】CF55D BZOJ3329
HDU
4352 SGU390
HDU
5519
前言有一些题之前已经写了题解了,就只留一个链接吧…一般的数位DP都是计算一段区间满足某条件的数有多少个。顾名思义数位DP就是按照数一位一位滴进行DP。通常至少有二维,其中一位表示当前在第i位上,另一维表示与n的大小关系。具体实现方法通常有递推版和记忆化搜索版。SPOJ10606SPOJ10606BZOJ3629BZOJ3629CodeForces55DCodeForces-55D题目大意:题目大意
冬日阳光下的一只猫
·
2020-09-17 11:32
DP
hdu
4587(tarjan)
题意很简单:无向图,问删去图上任意两个点以后最多可以把图分成几个联通分量。一开始就想到了割点,想通过一次tarjan后求出所有割点,写完以后连样例都过不了,发现想错了。求出所有割点并没什么用,因为题目是要删掉两个点,有可能图中根本没有割点,但是删掉两个关键点以后,图变得不连通。然后看题目居然有12秒的时限,就枚举两个点,然后跑dfs,果然TLE。。。然后想到,枚举一个点,然后删掉这个点以后去跑ta
constbh
·
2020-09-17 11:31
图论
Balanced Number
HDU
- 3709(数位DP)
BalancedNumber
HDU
-3709Abalancednumberisanon-negativeintegerthatcanbebalancedifapivotisplacedatsomedigit.Morespecifically
Guuuuuu老师儿
·
2020-09-17 11:59
#
数位dp
hdu
1231 并查集模板题
题目链接:http://acm.
hdu
.edu.cn/showproblem.php?pid=1213模板题,没什么好说的。.
panyyer
·
2020-09-17 11:59
acm/icpc
垃圾小肥羊leetcode
刷题记录
5
我的解法:classSolution:defremoveNthFromEnd(self,head:ListNode,n:int)->ListNode:dummyhead=ListNode(None)dummyhead.next=headcur=dummyheadforiinrange(n+1):cur=cur.nexttail=dummyheadwhilecur:tail=tail.nextcur
ChoesTiger wa
·
2020-09-17 11:58
小白羊不太会编程
算法
leetcode
数据结构
垃圾小白羊的leetcode
刷题记录
6
我的解法:classSolution:defspiralOrder(self,matrix:List[List[int]])->List[int]:ifnotmatrix:return[]iflen(matrix)==1:returnmatrix[0]m,n=len(matrix),len(matrix[0])directions=[(0,1),(0,-1),(1,0),(-1,0)]#right
ChoesTiger wa
·
2020-09-17 11:58
小白羊不太会编程
算法
列表
python
垃圾小白羊的leetcode
刷题记录
7
我的解法:classSolution:defreverseBetween(self,head:ListNode,m:int,n:int)->ListNode:count=0dummy=ListNode()dummy.next=headp=dummyinv_nodes=[]whilecountListNode:count=1dummy=ListNode()dummy.next=headpre,cur
ChoesTiger wa
·
2020-09-17 11:58
小白羊不太会编程
数据结构
leetcode
垃圾小肥羊leetcode
刷题记录
4
我的解法:classSolution:deftrailingZeroes(self,n:int)->int:fives=0whilen>0:n=n//5fives+=nreturnfives末尾的一个零表示阶乘中至少有一对2和5的因子,由于2因子的数量远多于5因子,因此只需考虑阶乘的所有乘数中一共有多少个5因子。需要注意的是有的乘数会包含多个5因子,如25包含两个5因子。因此,我们需要可以通过n/
ChoesTiger wa
·
2020-09-17 11:57
小白羊不太会编程
数据结构
算法
垃圾小白羊leetcode
刷题记录
3
我的解法:#Definitionforabinarytreenode.#classTreeNode:#def__init__(self,x):#self.val=x#self.left=None#self.right=NoneclassSolution:defisSameTree(self,p:TreeNode,q:TreeNode)->bool:ifnot(porq):returnnotbool
ChoesTiger wa
·
2020-09-17 11:57
小白羊不太会编程
leetcode
二叉树
算法
垃圾小白羊leetcode
刷题记录
1
我的解法:deftwoSum(self,nums:List[int],target:int)->List[int]:fori,numinenumerate(nums):forjinrange(i+1,len(nums)):ifnums[j]==target-num:return[i,j]两层循环,时间复杂度O(n2)大佬解法:deftwoSum(self,nums:List[int],target
ChoesTiger wa
·
2020-09-17 11:26
小白羊不太会编程
leetcode
数据结构
python
算法
HDU
4254 A Famous Game(概率与期望)
题目描述传送门题目大意:一个口袋里有n个红色或蓝色的球。n+1种颜色分布情况(i个红球n−i个蓝球)的概率是相等的。B从口袋中不放回地摸出了p个球,其中有q个是红色的。求B再摸一个球时,摸出的球是红色的概率。题解设Nk表示n个球中有k个红球的概率。A表示p个球中有q个红球B表示下次摸出的是红球那么P(Nk)=1n+1P(A)=C(k,q)C(n−k,p−q)C(n,p)P(B|ANk)=k−qn−
clover_hxy
·
2020-09-17 11:25
组合数学
概率与期望
hdu
3652 B-number
B-numberTimeLimit:2000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):4070AcceptedSubmission(s):2321ProblemDescriptionAwqb-number,orB-numberforshort,isanon-negativeintegerw
clover_hxy
·
2020-09-17 11:54
动态规划
HDU
2159
这是一道二维完全背包的题目转移方程:边界条件://75799982013-02-0118:13:11Accepted215946MS268K1071BG++chen//wA原因,一开始将判断dp[i][j]写到求dp的那个地方了,细想一下,这是错误的,当放进下一个物品的时候,可能也会得到满足条件的情况//所以必须重新算#include#include#includeusingnamespacest
bladeLight
·
2020-09-17 11:08
HDU
hdu
3671 Boonie and Clyde 割点
题意:给一个连通无向图。问存在多少对点,毁掉之后图不连通。思路:http://www.cnblogs.com/scau20110726/archive/2013/05/22/3092078.html#include//思路:枚举要删除的第一个点。#include#include#include#include#include#include#include#include#include#defi
chen_minghui
·
2020-09-17 11:08
tarjan
——图论——
hdu
5456 Matches Puzzle Game
题意:给出n个火柴棒,问能摆成多少个a-b=c的等式,其中,a,b,c均为正整数。做法:dp[i][j][cr][b][c],当前用了i个火柴棒,从低位到高位,已经考虑到了第j位,cr代表j-1位是否给j位贡献了一个1,b代表数字b是否已经到了最高位,c代表数字c是否已经到了最高位。有多少种方法到达目标状态。不断枚举在j位的数字进行数位dp即可。由于j肯定是不断在增大的,所以写的时候可以直接舍去这
Last0rder
·
2020-09-17 11:07
数位Dp
期望值Markov过程(马尔科夫过程),
hdu
1204糖果大战
先来看一个例子,即赌徒输光问题:赌徒甲有资本a元,赌徒乙有资本b元,两人进行赌博,每赌一局输者给赢者1元,没有和局,直赌至两人中有一人输光为止。设在每一局中,甲获胜的概率为p,乙获胜的概率为q=1-p,求甲先输光的概率。解:先设c=a+b;r=q/p;这个实际上是Markov过程(马尔科夫过程),具体细节不说了,结果就是:出自:http://www.cnblogs.com/hsqdboke/arc
Last0rder
·
2020-09-17 11:06
hdu解题代码
区间dp-
hdu
-4745-Two Rabbits
题目链接:http://acm.
hdu
.edu.cn/showproblem.php?
Accagain
·
2020-09-17 11:28
动态规划
(数位DP 1.1)
hdu
2089 不要62(求一个区间[a,b]中不包含4,64的数的个数)
题目:不要62TimeLimit:1000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):23759AcceptedSubmission(s):8128ProblemDescription杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好
黄俊东
·
2020-09-17 11:23
acm
ACM——夺金之路
hdu
5456 Matches Puzzle Game(记忆化dfs+dp)
A-B=C可以转化成B+C=A题解:http://m.blog.csdn.net/blog/stl112514/48678307http://acm.
hdu
.edu.cn/showproblem.php
ccyy-
·
2020-09-17 11:23
困难
dp
HDU
4336 概率DP求期望(or容斥原理)
题意:有N(1#include#includeusingnamespacestd;intn,two[22];doublep[22],ans;intmain(){inti,j;two[0]=1;for(i=1;i#include#includeusingnamespacestd;doublep[22],dp[1=0;i--){tp=p0;ans=1;for(j=0;j
9974
·
2020-09-17 11:22
ACM_数论
ACM_DP_概率DP
kebab
HDU
- 2883(按时间段建点)
解析:和
hdu
3572一样只不过这个时间的范围比较大所以就不能以时间点建点了所以要以时间段建点把所有的时间放到数组里,这里我用的是vector,然后排序,去重,对于每个
babing2770
·
2020-09-17 11:30
hdu
1024 经典DP 最大m字段和
//最大m段字段和!!#include#include#include#include#includeusingnamespacestd;constintmaxn=1000002;constintINF=1=b?a:b;}intmain(){freopen("//media/学习/ACM/input.txt","r",stdin);while(~scanf("%d%d",&m,&n)){inti,
azheng51714
·
2020-09-17 11:58
动态规划
hdu
4248 组合数学+DP
题意:n种颜色石头第i种颜色有num[i]个,每种每个可取可不取(不同顺序算两种)问有多少种组合例子:1个A2个B:ABABBABBABBBBABAB共8种思路:考虑DP:dp[i][j]表示前i种一共选了j个石头i:1~nj:1~sumA.选第i+1种石头,dp[i+1][j+k]+=dp[i][j]*C[j+k][k];目前长度是j假设选k个那么就有C(j+k,k)种可以放,1<=k
animalcoder
·
2020-09-17 11:45
ACM--组合数学
hdu
-3671-tarjin/割点方案
http://acm.
hdu
.edu.cn/showproblem.php?
all00747
·
2020-09-17 11:09
php
HDU
---Delta-wave
Delta-waveTimeLimit:2000/1000ms(Java/Other)MemoryLimit:65536/32768K(Java/Other)TotalSubmission(s):19AcceptedSubmission(s):9Font:TimesNewRoman|Verdana|GeorgiaFontSize:←→ProblemDescriptionAtrianglefield
遥遥未可期
·
2020-09-17 11:09
杭电OJ
背包的感觉(
Hdu
2546,
Hdu
2159解题分析)
HDU
DIY,选了几个DP题,但绝大多数人都卡在破题上了,破题真难呀!其实
Hdu
2546饭卡是周四晚sqq先想到是个01背包问题,但却是xyb最先(也最快)AC的。破题呀!
acmerhlj
·
2020-09-17 11:31
ACM&Programming
HDU
3652 B-number
数位dp#include#include#include#include#include#include#include#include#include#include#include#include#includeusingnamespacestd;#defineINF0x3f3f3f3f#defineinf-0x3f3f3f3f#definelsonl,m,rt<<1#definersonm+
_zidaoziyan
·
2020-09-17 11:31
数位dp
HDU
- 5456 Matches Puzzle Game (数位dp)
题目链接题意:给你n根火柴棒(5(1)(3)(4)(不进位),(2)(5)(6)(7)(进位)(3)->(3)(4)->(4)(5)->(3)(不进位),(5)(7)(进位)(6)->(4)(不进位),(6)(7)(进位)看上去似乎有点复杂。为了直观,我们用d[n][a][b][c]来表示剩余n根火柴棒时,从最低位开始的放法总数,a表示最低位是否因进位需要+1,b表示是否已停止放B位,c表示是否已
jrltx
·
2020-09-17 11:22
dp
C语言各种数据类型的占位符
char–%c或%hhd%c采用字符身份,%hhd采用数字身份;unsignedchar–%c或%hhushort–%
hdu
nsignedshort–%hulong–%ldunsignedlong–%luint
yyyzhhhhh
·
2020-09-17 11:45
C++
C
HDU
2046
很真实,我又不会了,看了一篇大神的博客,看懂了,分享一下思路题目意思用一块12的板子,铺满2n的格子1.从n个格子出发最后一块格子,摆放只有两种方式,一种竖排,那么方案总数为f(n-1),一种是横着排,那么方案总数为f(n-2)所以得出结论:f(n)=f(n-1)+f(n-2);贴上我的代码
YenKoc
·
2020-09-17 11:11
hdu菜鸟之路
Hdu
3652 B-number详解
B-numberTimeLimit:2000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):10866AcceptedSubmission(s):6455ProblemDescriptionAwqb-number,orB-numberforshort,isanon-negativeinteger
在路上Ven
·
2020-09-17 11:01
dp动态规划
HDU
2159 FATE(完全背包)
Description还剩n点经验值升级,还剩m点耐久,最多只能打s个怪,怪有k种,第i种怪一只a[i]点经验,需要b[i]点耐久,每种怪数量无限,没有耐久就不能杀怪了,问是否可以升级,如果可以那最多还剩多少耐久Input多组用例,每组用例第一行四个整数n,m,k,s分别表示升级所需经验值,剩余的耐久度,怪的种类,杀怪数量上限,之后k行每行两个整数a[i]和b[i]表示第i种怪的经验值和所需耐久,
v5zsq
·
2020-09-17 11:00
HDU
背包问题
HDU
4248 DP与组合数学
#include#includeconstintmaxn=110;constintmod=1E9+7;intc[maxn*maxn][maxn],num[maxn];longlongdp[maxn][maxn*maxn];intn,kase;voidinit(){for(inti=0;i
Tczxw
·
2020-09-17 11:26
HDU
6109 数据分割(并查集+缩点)
数据分割TimeLimit:2000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):976AcceptedSubmission(s):218ProblemDescription小w来到百度之星的赛场上,准备开始实现一个程序自动分析系统。这个程序接受一些形如xi=xj或xi≠xj的相等/不等约束条
TJU_Tahara
·
2020-09-17 11:52
并查集
HDU
5893 List wants to travel
题目链接:http://acm.split.
hdu
.edu.cn/showproblem.php?
Silenceneo
·
2020-09-17 11:46
线段树
树链剖分
hdu
树链剖分
线段树
hdu
- 4745 - Two Rabbits(最长回文子序列)
题意:两只兔子,在n块围成一个环形的石头上跳跃,每块石头有一个权值ai,一只从左往右跳,一只从右往左跳,每跳一次,两只兔子所在的石头的权值都要相等,在一圈内(各自不能超过各自的起点,也不能再次回到起点)它们最多能经过多少个石头(1>模拟样例后,初看挺像欧拉回路,接着同学说应是最长公共子序列LCS,接着就惨了,一直到比赛Ended都TLE……原来,只是简单的dp求最长回文子序列……假设一个有11个数
jchalex
·
2020-09-17 11:12
动态规划
Robberies
HDU
- 2955 ( 0-1背包 )
RobberiesTheaspiringRoytheRobberhasseenalotofAmericanmovies,andknowsthatthebadguysusuallygetscaughtintheend,oftenbecausetheybecometoogreedy.Hehasdecidedtoworkinthelucrativebusinessofbankrobberyonlyfor
SEVENY_
·
2020-09-17 11:12
动态规划-背包问题
数位dp--
hdu
3652 B-number
Awqb-number,orB-numberforshort,isanon-negativeintegerwhosedecimalformcontainsthesub-string"13"andcanbedividedby13.Forexample,130and2613arewqb-numbers,but143and2639arenot.Yourtaskistocalculatehowmanywq
Falling~
·
2020-09-17 11:41
数位dp
HDU
1231
题目链接:http://acm.
hdu
.edu.cn/showproblem.php?
T_world
·
2020-09-17 11:40
杂
acm
算法
杭电
HDU
3652
这题是成都赛区网络赛的一题。题意是计算1-n中有多少个数字既是13的倍数同时又含有字串13,1usingnamespacestd;intdp[9][3][13];intGetCount(intss,intsr,intsl){memset(dp,0,sizeof(dp));dp[0][ss][sr]=1;for(inti=0;i0){for(intx=0;x=0;i--){while(sn+e[i]
RaceBug2010
·
2020-09-17 11:34
HDU
3068 最长回文串
解法1:根据是奇数串还是偶数串,遍历中点,更新最长max值复杂度O(n^2)解法2:manacher(马拉车算法)O(n)马拉车算法1.中间插入#符号,统一变为奇数串规避奇偶问题2.使用一个辅助p数组,p[i]表示以i为中心的最长回文的半径,p[i]-1正好是原字符串中最长回文串的长度3.利用已经求过的p[j]来加快求p[i]的值mx和id。mx代表以id为中心的最长回文的右边界,也就是mx=id
PK0071
·
2020-09-17 11:58
ACM之杂题
HDU
- 6166(102/600)点集之间最短路
SeniorPanfailsinhisdiscretemathexamagain.SoheasksMasterZKCtogivehimgraphtheoryproblemseveryday.Thetaskissimple:ZKCwillgivePanadirectedgrapheverytime,andselectssomenodesfromthatgraph,youcancalculatethe
NineFailure
·
2020-09-17 11:22
ACM练习
二分
最短路
HDU
1517 巴什博弈变形
ProblemDescriptionStanandOllieplaythegameofmultiplicationbymultiplyinganintegerpbyoneofthenumbers2to9.Stanalwaysstartswithp=1,doeshismultiplication,thenOlliemultipliesthenumber,thenStanandsoon.Beforea
NineFailure
·
2020-09-17 11:22
ACM练习
博弈
hdu
1422 重温世界杯 (dp)
初看觉得题难的,仔细分析,每次上次有省的钱的都可以放到这次来用,那么生活费减去真实费用构成了一个序列,那么只要这个序列的和满足不小于0就可以了,这样就转化成求连续和不小于0的最长序列,注意一点:可以循环,城市之间相当于形成了一个环,那么只要开两倍的数组这样就可以构成循环。最后注意一下如果最后的长度大于城市总数要处理一下,那这时候的结果就是城市的个数。dp[i]表示以i为结尾的方案能走到的城市数#i
My_ACM_Dream
·
2020-09-17 11:18
动态规划
HDU
6074(LCA+并查集)
题意:给出若干条电话线,询问可以最多连几个房子,最小代价题解:不难发现这个过程就是Prim算法求最小生成树的过程,用Kruskal算法同样正确。将所有线路按代价从小到大排序,对于每条线路(a,b,c,d)(a,b,c,d),首先把a到b路径上的点都合并到LCA,再把c到d路径上的点都合并到LCA,最后再把两个LCA合并即可。设same[i]表示i点往上深度最大的一个和i在同一个连通块的祖先,每次沿
ME495
·
2020-09-17 10:39
LCA
并查集
HDU
2159 FATE (二维费用背包,模板题)
链接:http://acm.
hdu
.edu.cn/showproblem.php?
L_oser
·
2020-09-17 10:32
背包问题
kill
HDU
- 1272 小希的迷宫(看似并查集的水题)
题目链接:http://acm.
hdu
.edu.cn/showproblem.php?
LLL_yx
·
2020-09-17 10:01
水题
HDU
2089 不要62 (数位DP入门)
题目点我点我点我题目大意:统计区间[a,b]中不含4和62的数字有多少个。思路:数位DP,我这里用记忆化搜索做。/************************************************┆┏┓┏┓┆┆┏┛┻━━━┛┻┓┆┆┃┃┆┆┃━┃┆┆┃┳┛┗┳┃┆┆┃┃┆┆┃┻┃┆┆┗━┓马┏━┛┆┆┃勒┃┆┆┃戈┗━━━┓┆┆┃壁┣┓┆┆┃的草泥马┏┛┆┆┗┓┓┏━┳┓┏┛┆┆┃┫
空白君有着一把空白键blanKey
·
2020-09-17 10:00
~~~~~acm~~~~~
数位DP
hdu
1231最大连续子序列
假设dp[i]为以i为结尾的最大段则方程可表示为dp[i]=max{dp[i-1]+a[i],a[i]};可以优化为直接判断dp>0与否的问题,如下#includeusingnamespacestd;inta[10005];intmain(){intt;while(cin>>t&&t){for(inti=1;i>a[i];intans,ans_st,ans_ed,sum,st,ed;ans=sum
Jeromiewn
·
2020-09-17 10:54
dp
HDU
2586【LCA在线算法】
求树上两两之间距离。思路:在一棵树上,dis[index]代表root到index的距离,u,v的最短距离那不就是:dis[u]+dis[v]-2*dis[LCA(u,v)];然后这边可能有多棵树,先利用并查集并一下,然后拿结点0,把所有的根连起来,DFS,ST表,然后RMQ,就可以在线查询LCA了。如过LCA(u,v)=0,没有;否则:dis[u]+dis[v]-2*dis[LCA(u,v)];
keyboarder_zsq
·
2020-09-17 10:54
LCA
上一页
46
47
48
49
50
51
52
53
下一页
按字母分类:
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
其他