E. Count The Blocks(找数学规律)
\(\color{Red}{先说一下自己的歪解(找规律)}\)
\(n=1是答案是10\)
\(n=2时答案是180\)
\(n=3时模拟一下,很容易发现答案是2610\ \ 180\ \ 10\)
\(然后我们大胆推测,n增加后,只有答案第一位发生变化,其余照搬n-1的答案\)
\(然后发现n=3有1000个三位数,每个数有3个数字加起来是1000*3个数字\)
\(刚才得出n=3时连续块长3有10种(0000,1111,...,9999),也就用掉了10*3个数字\)
\(n=3时连续块长2有180种,也就用掉了180*2个数字\)
\(所以易得连续块长1有3000-30-360=2610\)
\(于是我们可以开始递推。\)
\(递推方法是:当前总数字-当前所用数字=块长1的数字\)
要代码点我
\(\color{Green}{--------------------无敌的分割线(●ˇ∀ˇ●)--------------------------}\)
\(\color{Purple}{还有一种解法是组合数学的思想}\)
\(如当n=10我们怎么构造一个长度为L=3的块的数量呢?\)
\(实际上这个长度为3的连续串可以从(10-3+1)个位置开头,分别是1、2、3...7、8\)
\(如果从1和8开头,只需要相邻的一个元素和串不同其他随意,方案数是\)
\]
\(如果从2到7开头,那么需要相邻两个元素不同,方案数是\)
\]
下面引用博主EchoZQN的一段话
\(这个会不会出现重复呢?或者会不会少统计了呢?\)
\(这两个看起来有矛盾的提问,其实就解决了这两个问题。\)
\(因为我每一个位置只统计了一次,但是可能我假设的这个位置出现大小为 i 的块不止一个,所以才会有疑问会不会少统计了。\)
\(同时因为每一个位置都统计了一次,所以可能会有两个位置,出现大小为 i 的块的数量及位置都相同,所以才会有疑问会不会重复统计了。\)
\(确实有可能会出现 x 个位置,此时出现大小为 i 的块的数量及位置都相同\)
\(但是每一次我只统计了一次,并没有乘以 x 这个数,所以不会重复,也不会丢掉一些数。\)
#include <bits/stdc++.h>
using namespace std;
const int maxn=2e5+10;
const int mod=998244353;
typedef long long ll;
ll dp[maxn],fac[maxn];
int main()
{
int n;
cin>>n;
dp[n]=10,dp[n-1]=180,fac[0]=1;
for(int i=1;i<=n;i++) fac[i]=fac[i-1]*10%mod;
for(int i=n-2;i>=1;i--)
{
int l=n-i+1;//
dp[i]=(l-2)*10*9*9*fac[n-i-2]%mod;
dp[i]+=2*10*9*fac[n-i-1];
dp[i]%=mod;
}
for(int i=1;i<=n;i++) cout<<dp[i]<<" ";
}
E. Count The Blocks(找数学规律)的更多相关文章
- Codeforces 715A & 716C Plus and Square Root【数学规律】 (Codeforces Round #372 (Div. 2))
C. Plus and Square Root time limit per test 2 seconds memory limit per test 256 megabytes input stan ...
- PAT甲级——1104 Sum of Number Segments (数学规律、自动转型)
本文同步发布在CSDN:https://blog.csdn.net/weixin_44385565/article/details/90486252 1104 Sum of Number Segmen ...
- hihoCoder 1584 Bounce 【数学规律】 (ACM-ICPC国际大学生程序设计竞赛北京赛区(2017)网络赛)
#1584 : Bounce 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 For Argo, it is very interesting watching a cir ...
- 与班尼特·胡迪一起找简单规律(HZOJ-2262)
与班尼特·胡迪一起找简单规律 Time Limit: 1 s Memory Limit: 256 MB Description 班尼特·胡迪发现了一个简单规律 给定一个数列,1 , 1 ...
- 2160 母猪的故事 ACM 数学规律
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2160 中文题目,很简单,找规律就好. 自己画树状图找规律,开始想复杂了,找的规律:Fn=2*F(n-1)- ...
- [wx]自然数学规律
有趣的数学规律 椭圆 双曲线 抛物线都叫圆锥曲线 它们跟圆锥有着怎样的关系? 他们都是圆锥与平面在不同姿势下交配的产物. 参考 椭圆 抛物线 小结 e: 离线率 P: 任意一点 F: 焦点 准线: 一 ...
- Codeforce 370A Rook, Bishop and King 数学规律
这个题目挺有意思的,给定 起终点,要你求车,象,王分别最少要走多少步 车横竖都能走,而且每步任意走几格,所以它是最容易处理的,如果在同行或者同列,就是1,否则就是2 象要找下规律,象任意对角线都能走, ...
- E. Count The Blocks
E. Count The Blocks 这是一个计数题,又把我卡自闭了...之前也碰到过类似的题目,这次居然还没有写出来,感觉自己还是太菜了,加油补题吧. 题目大意: 给你一个数字 \(n\),代表的 ...
- Educational Codeforces Round 84 E. Count The Blocks
传送门: 1327- E. Count The Blocks 题意:给你一个整数n,求10^n内(每个数有前导零)长度为1到n的块分别有多少个.块的含义是连续相同数字的长度. 题解:从n=1开始枚举 ...
随机推荐
- lr自带协议工具
Lr自带的协议分析的工具: 录制脚本之前,选对协议很关键,否则错误的协议会导致Virtual User Generator 录制不到脚本,或录制的脚本不完整,有些应用可能需要选择多个协议才能完整的记录 ...
- Win8.1/Win10在某些程序输入中文变成问号的解决方法
之前我是使用Win8.1,在某些软件上输入中文,却显示问号,换输入法也没用,当时也没用太在意,后来升级到Win10还是一样.同样的软件在其它Win8.1/Win10电脑却可以正常显示中文. 解决方法如 ...
- Linux U盘启动盘制作工具
近期由于自己使用的ubuntu系统一直出问题,想做一下启动盘帮助恢复系统和故障检测,以前一直是用ultraiso来进行写盘的,但是发现制作了几次后,失败的机率很高,主要有以下几种情况: 1.引导有问题 ...
- week7_简单题_C_水题_hdu_5578+F_贪心_hdu_5583
C HDU_5578 求字符串中所有相同字母的最小距离H. Input 实例个数T然后T行字符串字符串中仅含有小写字母.1≤T≤501≤len≤1000(len为字符串长度) Output ...
- D - Leading and Trailing LightOJ - 1282
题解:求n^k的前三位和后三位. 后三位直接快速幂对1000去余就可以了.前三位可以转换成浮点数来操作,也是用快速幂,我们只保留答案的前三位,当前值大于1000.0的话就除以10,直到结果小于等于10 ...
- E - Dividing Chocolate ATcoder
题目大意:切割图形,给你一个非0即1的矩阵,将它切割成多个长方形,使每个小长方形中1的个数不得多于k个,切割的规则,要么切一整行,要么是一整列. 题解: 二进制枚举. 注意行数最大才是10.用二进制枚 ...
- 掷骰子 dp
B. 掷骰子 单点时限: 2.0 sec 内存限制: 512 MB 骰子,中国传统民间娱乐用来投掷的博具,早在战国时期就已经被发明. 现在给你 n 个骰子,求 n 个骰子掷出点数之和为 a 的概率是多 ...
- JavaScript基础1225
JavaScript函数 1.函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块. tip:JavaScript对大小写敏感.关键词function必须是小写,并且必须以与函数名称相同的大小写 ...
- linux 文件的查找和压缩
1.使用 locate 命令 需要安装:yum install mlocate -y 创建或更新 slocate/locate 命令所必需的数据库文件:updatedb 作用:搜索不经常改变的文件如配 ...
- solr管理集合
其实完全版的管理,在web页面上就有. 同时,在官网文档上,也有:https://lucene.apache.org/solr/guide/6_6/coreadmin-api.html#CoreAdm ...