自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

YiShi's Blog

new site -> https://shiyi.threebody.xyz

  • 博客(24)
  • 资源 (1)
  • 收藏
  • 关注

原创 BZOJ 1833 [ZJOI2010]count 数字计数(数位dp)

题目链接:[kuangbin带你飞]专题十五 数位DP D - Bomb题意 输入n,m,求n~m范围内的所有数字中,分别输出0~9出现的总数是多少。思路 和 POJ 3286 How many 0’s? (数位dp)的思路基本是一样的,只是略有区别。 0和1~9要分开处理,是因为前缀0的问题。因为当某一位取0时,前面部分的数是不能为0的,而取1~9是可以前面为0的。代码#incl

2016-02-29 23:13:50 2253

原创 POJ 3286 How many 0's?(数位dp)

题目链接:POJ 3286 How many 0’s?题意 输入n,m,求n~m范围内的所有数字中,0出现的总数是多少。思路 用2034做个例子。 枚举0在个十百千位上出现的次数 个:个位为0时,后面不需要考虑,只需考虑前面,因为0比4小,所以前面即使取到最大也不会过限,所以前面可以是1~203(因为当前位是0,所以前面不能是0)。一共203种。 十:十位为0时,前面取1

2016-02-29 22:58:34 1936 1

原创 UVA - 1218 Perfect Service(树形dp)

题目链接:UVA - 1218 Perfect Service题意 有n台电脑,互相以无根树的方式连接,现要将其中一部分电脑作为服务器,且要求每台电脑必须连接且只能连接一台服务器(不包括作为服务器的电脑),求最少需要多少台电脑作为服务器。思路 典型的树形dp问题,那么我们来建立模型。 d(u,0):u是服务器,孩子是不是服务器均可 d(u,1):u不是服务器,u的父亲是服务器,

2016-02-28 23:27:56 2578 4

原创 UVA 10003 Cutting Sticks(区间dp)

题目链接:UVA - 10003 Cutting Sticks题意 给一长度为L的棍子,和n个切割点,每次切割的代价为当前的棍子的长度,问最少的总切割代价是多少。思路 典型的区间dp dp[i][j] = min(dp[i][k]+dp[k][j]+a[j]-a[i]) |i代码递推#include <iostream>#include <algorithm>#include <

2016-02-27 16:44:03 1056

原创 HDU 3709 Balanced Number(数位dp)

题目链接:[kuangbin带你飞]专题十五 数位DP F - Balanced Number题意 给定区间[a,b],求区间内平衡数的个数。所谓平衡数即有一位做平衡点,左右两边数字的力矩想等。思路 遍历每一位做为平衡点,进行搜索,sum保存数字乘以距离的和,若sum为0,则说明平衡。 要注意因为遍历了len次,所以0多加了len-1次。 还有个小技巧是当sum<0时就可以直接

2016-02-24 15:59:08 2750 1

原创 HDU 4507 吉哥系列故事――恨7不成妻(数位dp&好魔性的一道好题)

题目链接:[kuangbin带你飞]专题十五 数位DP J - 吉哥系列故事――恨7不成妻题意Time Limit:500MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64uDescription   单身!   依然单身!   吉哥依然单身!   DS级码农吉哥依然单身!   所以,他生平最恨

2016-02-24 03:32:56 3749 1

原创 POJ 3468 A Simple Problem with Integers(段更新的区间求和&Lazy思想&线段树)

题目链接:[kuangbin带你飞]专题七 线段树 C - A Simple Problem with Integers题意 给定n个数及m个操作。 操作分两种: 1. C a b c,表示对区间ab整体全部加上c 2. Q a b ,对区间ab求和并输出。思路 看到段更新,第一反应是给点更新外面加个for,但显然不可行。 了解到有个Lazy思想,即记录每一个线段树

2016-02-23 22:03:32 1388 1

原创 HDU 1754 I Hate It(区间最值问题&线段树)

题目链接:[kuangbin带你飞]专题七 线段树 B - I Hate ItTime Limit:3000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64uDescription 很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。 这让很多学生很反感。 不管你喜不喜欢,

2016-02-23 17:53:45 1228

原创 HDU 1166 敌兵布阵(区间求和&(线段树|树状数组))

题目链接:[kuangbin带你飞]专题七 线段树 A - 敌兵布阵前言 最近看到有些大牛代码里有句 ios_base::sync_with_stdio(false); 不免好奇,百度了下,才知道是可以加快io操作时间。 cin,cout速度慢,是因为先把要输出的东西存入缓冲区,再输出,导致效率降低,而这段ios_base::sync_with_stdio(false)可以来打

2016-02-23 14:46:49 1349

原创 FZU 1686 神龙的难题(重复覆盖问题&舞蹈链)

题目链接:[kuangbin带你飞]专题三 Dancing Links D - 神龙的难题题意Description 这是个剑与魔法的世界.英雄和魔物同在,动荡和安定并存.但总的来说,库尔特王国是个安宁的国家,人民安居乐业,魔物也比较少.但是.总有一些魔物不时会进入城市附近,干扰人民的生活.就要有一些人出来守护居民们不被魔物侵害.魔法使艾米莉就是这样的一个人.她骑着她的坐骑,神龙米格拉一起消灭干

2016-02-22 01:54:36 1867 1

原创 ZOJ 3209 Treasure Map(精确覆盖问题&舞蹈链)

题目链接:[kuangbin带你飞]专题三 Dancing Links B - Treasure Map题意 给一矩形和k个小矩形,问选取最小数量为多少的小矩形可以对大矩形进行精确覆盖。思路 仍然是个模版题,把二维的n*m的大矩形看作是一维的n*m的一条线。k个小矩形同理,那么就转化成01矩阵精确覆盖的问题了。代码#include <iostream>#include <algorit

2016-02-21 18:50:13 1605

原创 HUST 1017 Exact cover(舞蹈链&不能为了ac而ac)

题目链接:[kuangbin带你飞]专题三 Dancing Links A - Exact cover题意 给定一01矩阵,问是否能够精确覆盖(就是选取任意行,这些行的1所在的列互不冲突且完整覆盖所有列),若有输出行号(要按递增顺序输出),否则输出NO。思路ps:两个礼拜前大略看了下舞蹈链(虽然英文名听起来更高端,但还是更喜欢它的中文名字),很妙但也让人一看就惰性必生不愿再看,今天耐心再仔细理

2016-02-21 02:29:11 2388 2

原创 HDU 4513 吉哥系列故事――完美队形II(Manacher)

题目链接:[kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher V - 吉哥系列故事――完美队形II题意   吉哥又想出了一个新的完美队形游戏!   假设有n个人按顺序站在他的面前,他们的身高分别是h[1], h[2] … h[n],吉哥希望从中挑出一些人,让这些人形成一个新的队形,新的队形若满足以下三点要求,则就是新的完美队形:   1、挑出的人

2016-02-19 12:55:32 6808

原创 HDU 3068 最长回文(Manacher)

题目链接:[kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher题意 给出一个只由小写英文字符a,b,c…y,z组成的字符串S,求S中最长回文串的长度. 回文就是正反读都是一样的字符串,如aba, abba等思路 用特殊字符插入到s串中每两个字符中间,实现每个回文串都是奇数,再用manacher算法进行求解。代码#include <iostream>#

2016-02-19 12:45:08 1633

原创 HDU 3652 B-number(数位dp&记忆化搜索)

题目链接:[kuangbin带你飞]专题十五 数位DP G - B-number题意 求1~n的范围里含有13且能被13整除的数字的个数。思路 首先,了解这样一个式子:a%m == ((b%m)*c+d)%m; 式子的正确是显然的,就不证明了。 那么判断数是否可以被13整除就可以分解为一位一位进行处理。 当然,我们也只需要储存取余后的值。 dfs(len, num,

2016-02-18 18:19:41 5142 2

原创 POJ 3252 Round Numbers(数位dp&记忆化搜索)

题目链接:[kuangbin带你飞]专题十五 数位DP E - Round Numbers题意 给定区间,求转化为二进制后其中0比1多或相等的数字的个数。思路 将数字转化为二进制进行数位dp,因为一个二进制数的最高位必须为1,所以设置变量first记录前面位是否有1,若有1,则可任意放,否则,只可放1。 同时,上面的判断决定了搜索时len的大小与二进制本身的长度不一定相等,所以需两个

2016-02-14 23:25:10 1843

原创 HDU 3555 Bomb(数位dp&记忆化搜索)

题目链接:[kuangbin带你飞]专题十五 数位DP D - Bomb题意 求1~n的范围里含有49的数字的个数。思路 记忆化搜索 dfs(len, pre, flag) len表示当前位数 pre==0 不含49且上一位不为4 pre==1 不含49且上一位为4 pre==2 含49 flag表示是否可以任意取值(判断范围)。 即可

2016-02-14 22:01:09 1914

原创 HUST 1010 The Minimum Length(最小循环节)

题目链接:[kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher F - The Minimum Length题意 有一个字符串A,假设是”abcdefg”,由A可以重复组成AAA,即”abcdefgabcdefgabcdefg”,从中截取一部分(至少包含一个以上完整A)为B。 现给出字符串B,求A最短的长度。思路 因为是重复组成的,所以abcd==bc

2016-02-14 00:54:17 1732

原创 HDU 2089 不要62(数位dp&记忆化搜索)

题目链接:[kuangbin带你飞]专题十五 数位DP C - 不要62题意 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。 杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。 不吉利的数字为所有含有4或62的号码。例如: 62315 73418 88

2016-02-14 00:04:25 2111

原创 HDU 4352 XHXJ's LIS(数位dp&状态压缩)

题目链接:[kuangbin带你飞]专题十五 数位DP B - XHXJ’s LIS题意 给定区间,求出有多少个数满足最长上升子序列(将数看作字符串)的长度为k。思路 一个数的上升子序列最大长度为10,所以每一个上升子序列的状态都可以用10个二进制位来表示。 上升子序列的变化可以用LIS的方式来更新。 dp[len][num][k] len为当前的位,num为当前上升子序

2016-02-13 22:51:48 2395 1

原创 CodeForces 55D Beautiful numbers(数位dp&&离散化)

题目链接:[kuangbin带你飞]专题十五 数位DP A - Beautiful numbers题意ps:第一道数位dp,题真好,虽然是参考大牛方法悟过才a,但仍收获不少。 求一个区间内的Beautiful numbers有多少个。Beautiful numbers指:一个数能整除所有组成它的非0数字。 例如15可以被1和5整除,所以15是Beautiful numbers。思路 Be

2016-02-13 01:53:29 4691 10

原创 HDU 1358 Period

题目链接:[kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher E - Period题意 给一字符串,求其所有完整循环的前缀与循环节的长度。 例:aaa 长度2前缀,循环节为a,个数为2 长度3前缀,循环节为a,个数为3思路 kmp求出字符串前后缀重复数,遍历所有前缀子串进行下面操作: 字符串前后缀重复数next[L],则

2016-02-07 00:36:47 2417

原创 HDU 3746 Cyclic Nacklace(kmp求循环节)

题目链接:[kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher题意 给一字符串,求在其尾部添加最少多少个字符,可以使其内部循环两次以上。 例:ababa,需后面添加b即可 ababc需后面添加ababc。 思路 kmp求出字符串前后缀重复数next[L],则尾部不能循环的部分长度为L-L%next[L],需要补充的长度为next[L]-(L-L%ne

2016-02-06 23:42:37 1950

原创 51Nod 1405 树的距离之和(dp)

1405 树的距离之和基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注给定一棵无根树,假设它有n个节点,节点编号从1到n, 求任意两点之间的距离(最短路径)之和。思路: 首先,任选一个节点,设定为树的根。 用num[x]表示以节点x为根的子树的节点总数(包含x自身) 假如设定节点1为根,则先求出dp[1],表示所有节点到节点1的距离之和, 对根而言也是所有节点的深度之和。 若x是y的子结点,则有 dp[x] = dp[y] +

2016-02-01 21:05:14 2399 1

空空如也

空空如也

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

TA关注的人

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