淘金(bzoj 3131)】的更多相关文章

3131: [Sdoi2013]淘金 Time Limit: 30 Sec  Memory Limit: 256 MBSubmit: 733  Solved: 363[Submit][Status][Discuss] Description 小Z在玩一个叫做<淘金者>的游戏.游戏的世界是一个二维坐标.X轴.Y轴坐标范围均为1..N.初始的时候,所有的整数坐标点上均有一块金子,共N*N块.    一阵风吹过,金子的位置发生了一些变化.细心的小Z发现,初始在(i,j)坐标处的金子会变到(f(i),…
#include<cstdio> #include<iostream> #include<queue> #include<algorithm> #define ll long long #define M 40009 #define MO 1000000007 using namespace std; ],tot,K,anss; ll ans[*M],n,f[][M][],size[M],m; struct data { int x,y; ll z; dat…
Description 小Z在玩一个叫做<淘金者>的游戏.游戏的世界是一个二维坐标.X轴.Y轴坐标范围均为1..N.初始的时候,所有的整数坐标点上均有一块金子,共N*N块.    一阵风吹过,金子的位置发生了一些变化.细心的小Z发现,初始在(i,j)坐标处的金子会变到(f(i),fIj))坐标处.其中f(x)表示x各位数字的乘积,例如f(99)=81,f(12)=2,f(10)=0.如果金子变化后的坐标不在1..N的范围内,我们认为这块金子已经被移出游戏.同时可以发现,对于变化之后的游戏局面,…
Description 小Z在玩一个叫做<淘金者>的游戏.游戏的世界是一个二维坐标.X轴.Y轴坐标范围均为1..N.初始的时候,所有的整数坐标点上均有一块金子,共N*N块.    一阵风吹过,金子的位置发生了一些变化.细心的小Z发现,初始在(i,j)坐标处的金子会变到(f(i),fIj))坐标处.其中f(x)表示x各位数字的乘积,例如f(99)=81,f(12)=2,f(10)=0.如果金子变化后的坐标不在1..N的范围内,我们认为这块金子已经被移出游戏.同时可以发现,对于变化之后的游戏局面,…
传送门 Solution 这道数位$DP$看的我很懵逼啊... 首先我们肯定要先预处理出 $12$位乘起来的所有的可能情况, 记录入数组 $b$, 发现个数并不多, 仅$1e4$不到. 然后我们考虑算出有多少的$x$ 使得$f(x) = y$, 并记录个数到$ans[y]$ 中. 然后? 然后我就不会啦QAQ 定义数组$f[ i ][ j ][ k ]$ , $i$ 表示 $i$位数字, $j$ 表示 所有位上的数乘起来为 $b[j]$ , $k$ 表示前 $i$ 位是否比 $N$的前$i$位大…
题目描述 小Z在玩一个叫做<淘金者>的游戏.游戏的世界是一个二维坐标.X轴.Y轴坐标范围均为1..N.初始的时候,所有的整数坐标点上均有一块金子,共N*N块. 一阵风吹过,金子的位置发生了一些变化.细心的小Z发现,初始在(i,j)坐标处的金子会变到(f(i),fIj))坐标处.其中f(x)表示x各位数字的乘积,例如f(99)=81,f(12)=2,f(10)=0. 如果金子变化后的坐标不在1..N的范围内,我们认为这块金子已经被移出游戏.同时可以发现,对于变化之后的游戏局面,某些坐标上的金子数…
Description 小Z在玩一个叫做<淘金者>的游戏.游戏的世界是一个二维坐标.X轴.Y轴坐标范围均为1..N.初始的时候,所有的整数坐标点上均有一块金子,共N*N块.    一阵风吹过,金子的位置发生了一些变化.细心的小Z发现,初始在(i,j)坐标处的金子会变到(f(i),fIj))坐标处.其中f(x)表示x各位数字的乘积,例如f(99)=81,f(12)=2,f(10)=0.如果金子变化后的坐标不在1..N的范围内,我们认为这块金子已经被移出游戏.同时可以发现,对于变化之后的游戏局面,…
目录 2018.3.25 Test 总结 T1 BZOJ.3129.[SDOI2013]方程(扩展Lucas 容斥) T2 洛谷.3305.[SDOI2013]费用流(最大流ISAP 二分) T3 BZOJ.3131.[SDOI2013]淘金(数位DP 堆) 考试代码 T1 T2 T3 2018.3.25 Test 时间:7:30~11:30 (最后半小时不做了) 期望得分:50+100+20=170 实际得分:40+44+20=104 总结 T1:善用容斥. T2:要求输出小数当然有它的道理.…
数位DP AC十道题目以上 成就达成 八月份!三个月!想想就令人兴奋呢 开始写总结啦 貌似简单的数位DP只需要改改模板就可以啦 就按照我的做题顺序开始总结吧 先是学习了一发模板:http://www.cnblogs.com/jffifa/archive/2012/08/17/2644847.html 但是一开始学的不是很深刻,导致后来做题的时候犯了很多错误 hdu 2089 数字中不能出现62和4 一开始设计的状态是f[i][j]表示长度为i且上一个数字为j,然后写了一发过来 其实状态是可以精简…
http://www.lydsy.com/JudgeOnline/problem.php?id=3131 如果已知 s[i]=j 表示有j个<=n数的数码乘积=i 那么就会有 s[a1]*s[a2] 个数 在一阵风之后到(a1,a2)位置 把所有的j用一个数组b存起来,从大到小排序开始把(1,1)存入堆,表示当前最多的是b[1]*b[1]每次取出堆顶(i,j),累加 b[i]*b[j],存入(i+1,j),(i,j+1),map 判重 就可以解决前k大之和的问题 i的上限是n,存不下,怎么办 我…