随笔分类 -  HDU

摘要:题意:给一个图。规定至多转弯的次数,起点和终点。问在转弯的次数内能否到达终点。 注意!给的n*m的map,n是列,m是行。同一个点可能经过多次。由于只统计拐弯次数,会出现走的步数少但拐弯多的情况。 1 #include <cstdio> 2 #include <cstring> 3 #include 阅读全文
posted @ 2018-06-27 21:44 demianzhang 阅读(190) 评论(0) 推荐(0)
摘要:类型:给出一些形如a−b<=k的不等式(或a−b>=k或a−b<k或a−b>k等),问是否有解【是否有负环】或求差的极值【最短/长路径】。例子:b−a<=k1,c−b<=k2,c−a<=k3。将a,b,c转换为节点;k1,k2,k3转换为边权;减数指向被减数,形成一个有向图: 由题可得(b−a) + 阅读全文
posted @ 2018-06-20 22:21 demianzhang 阅读(270) 评论(0) 推荐(0)
摘要:POJ 1364 题解:最短路式子:d[v]<=d[u]+w 式子1:sum[a+b+1]−sum[a]>c — sum[a]<=sum[a+b+1]−c−1 — (a+b+1,a) −c−1 式子2:sum[a+b+1]−sum[a]<c — sum[a+b+1]<=sum[a]+c−1 — (a 阅读全文
posted @ 2018-06-20 19:17 demianzhang 阅读(268) 评论(0) 推荐(0)
摘要:题意:有n门功课需要完成,每一门功课都有时间期限以及你完成所需要的时间,如果完成的时间超出时间期限多少单位,就会被减多少学分,问以怎样的功课完成顺序,会使减掉的学分最少,有多个解时,输出功课名字典序最小的一个。 作业最多只有15个,容易想到是状态压缩 dp[i]表示i对应状态的最小扣分 i转换为二进 阅读全文
posted @ 2018-05-14 18:01 demianzhang 阅读(352) 评论(0) 推荐(0)
摘要:数位dp,主要用来解决统计满足某类特殊关系或有某些特点的区间内的数的个数,它是按位来进行计数统计的,可以保存子状态,速度较快。数位dp做多了后,套路基本上都差不多,关键把要保存的状态给抽象出来,保存下来。 简介: 顾名思义,所谓的数位DP就是按照数字的个,十,百,千……位数进行的DP。数位DP的题目 阅读全文
posted @ 2017-08-28 00:57 demianzhang 阅读(288) 评论(0) 推荐(0)