package com.code; public class Test05_1 { public static int solution(int A, int B, int K) { // handle 6,8,7 condition // handle 6,11,2 condition // handle 7,12,3 condition if(A%K==0){ return (B-A)/K + 1; }else{ int start = A+(K-A%K); if(start>B){ //…
AC自动机/数位DP orz zyf 好题啊= =同时加深了我对AC自动机(这个应该可以叫Trie图了吧……出边补全!)和数位DP的理解……不过不能自己写出来还真是弱…… /************************************************************** Problem: 3530 User: Tunix Language: C++ Result: Accepted Time:1008 ms Memory:33956 kb **************…
3530: [Sdoi2014]数数 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 322  Solved: 188[Submit][Status] Description 我们称一个正整数N是幸运数,当且仅当它的十进制表示中不包含数字串集合S中任意一个元素作为其子串.例如当S=(22,333,0233)时,233是幸运数,2333.20233.3223不是幸运数.     给定N和S,计算不大于N的幸运数个数. Input 输入的第一行包含整数…
3530: [Sdoi2014]数数 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 682  Solved: 364 Description 我们称一个正整数N是幸运数,当且仅当它的十进制表示中不包含数字串集合S中任意一个元素作为其子串.例如当S=(22,333,0233)时,233是幸运数,2333.20233.3223不是幸运数.    给定N和S,计算不大于N的幸运数个数. Input 输入的第一行包含整数N.    接下来一行一个整数M,…
数数happy有多少个? 难度级别:B: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 图图是个爱动脑子.观察能力很强的好学生.近期他正学英语单词,练字时无意识地写了一串小写英文字母,他发现这串字母中包含了很多个happy,他决定计算一下到底有多少个happy.规则是这样的:在该字符串提取任意位置的字符组成新的单词串,不改变其在原字符串中的相对顺序,请你编写程序帮助图图统计出新的单词串种最多有多少个happy. 输入 输入只有一行,含有一…
3530: [Sdoi2014]数数 题意:\(\le N\)的不含模式串的数字有多少个,\(n=|N| \le 1200\) 考虑数位DP 对于长度\(\le n\)的,普通套路DP\(g[i][j]\)即可 对于长度\(=n\)的,需要考虑天际线,\(f[i][j][0/1]\)表示从高开始i位走到节点j,是否卡上界的方案数 需要注意的是前导0的处理,不能出现前导0,所以\(f[0]\)往外转移的时候不能走0 #include <iostream> #include <cstdio&…
[BZOJ3530]数数(AC自动机,动态规划) 题面 BZOJ 题解 很套路的\(AC\)自动机+\(DP\) 首先,如果长度小于\(N\) 就不存在任何限制 直接大力\(DP\) 然后强制限制不能走到带有标记的点上面 如果长度恰好为\(N\)的长度 那么,要考虑是否恰好卡在范围里面 于是\(DP\)状态多记一维 表示是否卡在范围里面 最后求一下和就行啦 #include<iostream> #include<cstdio> #include<cstdlib> #in…
传送门 题意: 一个人数数,规则如下: 确定数数的进制B 确定一个数数的区间[L, R] 对于[L, R] 间的每一个数,把该数视为一个字符串,列出该字符串的所有连续子串对应的B进制数的值. 对所有列出的数求和. 结果用10 进制表示,对20130427取模. 思路: 我不知道为什么要从低位开始向高位处理2333333手动毒瘤 然后肝了好久幸好没有推错不然就自闭了 不过需要多预处理一点东西. 假设现在计算[1,a][1,a][1,a]的答案,aaa一个表示BBB进制数的数组 ssi:ss_i:s…
「SDOI2014」数数 题目描述 我们称一个正整数 \(N\) 是幸运数,当且仅当它的十进制表示中不包含数字串集合 \(S\) 中任意一个元素作为其子串. 例如当 \(S=(\)22, 333, 0233\()\) 时,233 是幸运数,2333.20233.3223 不是幸运数. 给定 \(N\) 和 \(S\),计算不大于 \(N\) 的幸运数个数. 输入格式 输入的第一行包含整数 \(N\). 接下来一行一个整数 \(M\),表示 \(S\) 中元素的数量. 接下来 \(M\) 行,每行…
刷了这么久的数位 dp ,照样被这题虐,还从早上虐到晚上,对自己无语...(机房里又是只有我一个人,寂寞.) 题目:洛谷P3281 [SCOI2013]数数 题目描述 Fish 是一条生活在海里的鱼,有一天他很无聊,就开始数数玩.他数数玩的具体规则是: 确定数数的进制B 确定一个数数的区间[L, R] 对于[L, R] 间的每一个数,把该数视为一个字符串,列出该字符串的每一个(连续的)子串对应的B进制数的值. 对所有列出的数求和.现在Fish 数了一遍数,但是不确定自己的结果是否正确了.由于[L…