1021 - Painful Bases】的更多相关文章

1021 - Painful Bases   PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 MB As you know that sometimes base conversion is a painful task. But still there are interesting facts in bases. For convenience let's assume that we are d…
题目链接:http://lightoj.com/volume_showproblem.php?problem=1021 #include<cstring> #include<cstdio> #include<algorithm> #include<iostream> using namespace std; <<; const int INF = 0x3f3f3f3f; ]; //dp[i][j]表示数字集合为i(数位i上为1,代表第i个数取了)…
题目链接:http://www.lightoj.com/volume_showproblem.php?problem=1021 题解:简单的数位dp由于总共就只有16个存储一下状态就行了.求各种进制能否整除k模仿10进制就行. #include <iostream> #include <cstring> #include <cstdio> #include <cmath> using namespace std; typedef long long ll;…
题目大意: 给你一个base 进制的数字,把这个数字的每一位进行全排列,问有多少个数字是可以整除k的. 题目解析: #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #include<cmath> #include<queue> #include<vector> #include<map> using namesp…
题意:  给一个B进制的数,一个10进制的数K,B进制数有x位, 对着x位进行全排列的话,有x!种可能, 问这x!的可能中,有多少种可以整除K,各个位置上的数字都不同. 思路:状态压缩,数位DP #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<vector> #include<set&…
Painful Bases LightOJ - 1021 题意:给出0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F中的一些字符(不重复)还有一个进制base,求这些字符的排列形成的base进制数中,有多少个能被k整除. 方法: 正常的做法: http://blog.csdn.net/chenzhenyu123456/article/details/51155038 自己的做法(常数很大,仅做记录): ans[i][S][j]表示i进制下,S集合中数字可用,总产生余数为j时方案数…
Painful Bases LightOJ - 1021 这个题目一开始看,感觉有点像数位dp,但是因为是最多有16进制,因为限制了每一个数字都不同最多就有16个数. 所以可以用状压dp,看网上题解是 dp[s][r] 表示数字集合为s,对 k 取余为r的方案数. 这个题目首先把给你的字符转化成数字,然后枚举状态,枚举模数,枚举每一位的所有可能. 这个注意是写离散化的,不是直接暴力,虽然理论上都会超时,但是实际上离散化的没有超时. 这个题目我觉得还挺好的,以后可以在写写 #include <io…
容易想到状态dp[n][S][m](S是数字出现的集合),表示前n位用了数字集S且模k余数是m的方案数. 利用 (xy)base % k = ( x*base+y ) % k = (( x%k ) * base + y) % k ,进行状态第三维的转移. 不过d[16][216][20]有2000多W的状态数,且不说超时的问题,内存早已超过限制了. 可以发现,S这一维其实就包含了n这一维的信息了,所以只要二维就能表示状态. dp[m][S]表示,数字集为s且模k余数为m的方案数 状态的转移,从前…
提高自己的实力, 也为了证明, 开始板刷lightoj,每天题量>=1: 题目的类型会在这边说明,具体见分页博客: SUM=54; 1000 Greetings from LightOJ [简单A+B] 1001 Opposite Task  [简单题] 1002 Country Roads[搜索题] 1003 Drunk[判环] 1004 Monkey Banana Problem [基础DP] 1006 Hex-a-bonacci[记忆化搜索] 1008 Fibsieve`s Fantabu…
好吧,这名字真是让我想起了某段被某教科书支配的历史.....各种DP题层出不穷,不过终于做完了orz 虽然各种手糊加乱搞,但还是要总结一下. T1 Monkey Banana Problem    这道题和数塔问题差不多,不过多了一个倒过来的 代码如下: #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; ][],t,n;…