上一页 1 2 3 4 5 6 7 8 9 10 ··· 23 下一页
摘要: 题目大概说有n个yang珠子n个yin珠子,要交替串成一个环形项链,有些yang珠子和某个yin珠子相邻这个yang珠子会不高兴,问最少有几个yang珠子不高兴。 自然会想到直接用状压DP去解,转移很烦,也没写出来。标程是搜索不明觉厉。。听闻了可以枚举一边的顺序,8!,然后用最大匹配解决。 然后想到 阅读全文
posted @ 2016-07-20 17:11 WABoss 阅读(341) 评论(2) 推荐(0) 编辑
摘要: 题目大概说有一棵树要给结点染色0或1,要求所有度为1的结点一半是0一半是1,然后问怎么染色,使两端点颜色不一样的边最少。 dp[0/1][u][x]表示以u结点为根的子树中u结点是0/1色 且其子树有x个结点染成1色 的最少边数 转移就是树上背包了。有点就是各个子树必须选,这种形式的树上背包之前做过 阅读全文
posted @ 2016-07-20 11:07 WABoss 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 题目大概说有n行,每行20格子,都有一些棋子,两个人轮流进行这个操作:选择某一行一个棋子移动到该行右边第一个空的格子。不能进行的人输。问先手是否能赢。 阅读全文
posted @ 2016-07-20 09:25 WABoss 阅读(1107) 评论(0) 推荐(1) 编辑
摘要: 题目 Source http://acm.hdu.edu.cn/showproblem.php?pid=5726 Description Give you a sequence of N(N≤100,000) integers : a1,...,an(0<ai≤1000,000,000). Ther 阅读全文
posted @ 2016-07-20 08:52 WABoss 阅读(2089) 评论(0) 推荐(4) 编辑
摘要: 题目大概说给一个长m的括号序列s,要在其前面和后面添加括号使其变为合法的长度n的括号序列,p+s+q,问有几种方式。(合法的括号序列当且仅当左括号总数等于右括号总数且任何一个前缀左括号数大于等于右括号数) 我这么想的:n-m<=2000,因而可以dp计算p和q的方案数,同时在各个地方加入s进行转移。 阅读全文
posted @ 2016-07-18 17:37 WABoss 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 题目大概说给一棵树,进行以下3个操作:把某结点为根的子树中各个结点值设为1、把某结点以及其各个祖先值设为0、询问某结点的值。 对于第一个操作就是经典的DFS序+线段树了。而对于第二个操作,考虑再维护一个域表示各个结点为根的子树是否有进行第二个操作,如果有那么该结点应该就要是0;而在进行第一个操作前, 阅读全文
posted @ 2016-07-18 15:13 WABoss 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 题目大概说给一个序列,多次询问区间异或和为k的连续子序列有多少个。 莫队算法,利用异或的性质,通过前缀和求区间和,先处理出序列各个前缀和,然后每次区间转移时维护i以及i-1前缀和为某数的个数并增加或减少对答案的贡献。 阅读全文
posted @ 2016-07-17 16:04 WABoss 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 题目大概说给两个串,问最少要用多少个第一个串的子串(可以翻转)拼成第二个串。 UVa1401,一个道理。。dp[i]表示前缀i拼接成功所需最少的子串,利用第一个串所有子串建立的Trie树往前枚举转移。 阅读全文
posted @ 2016-07-17 09:24 WABoss 阅读(346) 评论(0) 推荐(0) 编辑
摘要: 题目大概说给一个数字组成的字符串问有几个子串其代表的数字(可以有前导0)能被4整除。 dp[i][m]表示字符串0...i中mod 4为m的后缀的个数 通过在i-1添加str[i]字符转移,或者以str[i]为新后缀的开头转移 阅读全文
posted @ 2016-07-16 21:36 WABoss 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 题目大概说,有n个颜色的宝石,可以消除是回文串的连续颜色序列,问最少要几下才能全部消除。 自然想到dp[i][j]表示序列i...j全部消除的最少操作数 有几种消除的方式都能通过枚举k(i<=k<j)从min(dp[i][k],dp[k+1][j])转移 还有一种先消除中间的,剩余两部分组成回文串再 阅读全文
posted @ 2016-07-16 19:25 WABoss 阅读(235) 评论(0) 推荐(1) 编辑
摘要: 题目大概说给一个整数序列,问里面有几个包含三个数字的子序列ai,aj,ak,满足ai*k*k=aj*k=ak。 感觉很多种做法的样子,我想到这么一种: 枚举中间的aj,看它左边有多少个aj/k右边有多少个aj*k,两边个数的乘积就是答案的一部分贡献。 而左边各个数字的个数和右边各个数字可以用两个ma 阅读全文
posted @ 2016-07-16 09:26 WABoss 阅读(376) 评论(0) 推荐(1) 编辑
摘要: 题目大概说手机有n张照片。通过左滑或者右滑循环切换照片,滑动需要花费a时间;看一张照片要1时间,而看过的可以马上跳过不用花时间,没看过的不能跳过;有些照片要横着看,要花b时间旋转方向。那么问T时间下最多可以看多少张相片。 先确定左滑最多能看到哪张,然后用另一个指针从第一张照片往右移动,这代表先右滑然 阅读全文
posted @ 2016-07-16 08:40 WABoss 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 题目大概说有101个质量w0、w1、w2、...、w100的砝码,和一个质量m的物品,问能否在天平两边放物品和砝码使其平衡。 哎,怎么没想到。。注意到w0、w1、w2、...、w100—— 把m转化成w进制数,枚举每一位: 如果第i位是0那OK; 如果是1那就要把砝码wi放在天平另一边抵消; 如果是 阅读全文
posted @ 2016-07-15 21:46 WABoss 阅读(370) 评论(0) 推荐(0) 编辑
摘要: 题目大概说两个正整数a、b,已知s=a+b以及x=a xor b的值,问有几种a、b这样的数对。 我知道异或相当于无进位的加法,s-x就是其各个位置的进位,比如s-x=1010,那就表示a和b的第1位和第3位发生的进位。 这样,对于某些位其值就能确定,对于有些位其值不能确定(该位xor和为1且没有发 阅读全文
posted @ 2016-07-15 19:47 WABoss 阅读(518) 评论(0) 推荐(0) 编辑
摘要: 题目大概说给一个加密的字符串,加密规则是把原文转化成小写字母,然后各个单词反转,最后去掉空格。现在给几个已知的单词,还原加密的字符串。 和UVa1401一个道理。。 用dp[i]表示加密字符前i个字符都被解密时,最后所用单词编号,为0表示不能被解密 然后转移一个样,从i出发往前在Trie树上跑,看看 阅读全文
posted @ 2016-07-15 16:38 WABoss 阅读(298) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 23 下一页