Luogu5307 [COCI2019] Mobitel 【数论分块】【递推】
题目分析:
对于向上取整我们总有,$\lceil \frac{\lceil \frac{n}{a} \rceil}{b} \rceil = \lceil \frac{n}{a*b} \rceil$这个不难想到。
然后朴素的dp很容易想到,用上面的式子优化一下就行了。
代码:
// luogu-judger-enable-o2
#include<bits/stdc++.h>
using namespace std; const int mod = 1e9+; int f[][];
int a[][];
int rem[],pep[];
int n,m,k,num; int main(){
scanf("%d%d%d",&n,&m,&k);
for(int i=;i<=n;i++) for(int j=;j<=m;j++) scanf("%d",&a[i][j]);
int lst = ;
for(int i=;i<=k;i++){
int now = k/i + (k%i != );
if(now != lst) rem[++num] = i,pep[now] = num;
lst = now;
}
f[][] = ;
for(int i=;i<=n;i++){
for(int j=;j<=m;j++){
for(int ku=num;ku>=;ku--){
if(!f[j][ku] && !f[j-][ku]) continue;
int dem = f[j][ku];
f[j][ku] = ;
int ham = rem[ku];
if(1ll*ham*a[i][j] >= k) ham = k;
else ham = a[i][j]*ham;
ham = pep[k/ham+(k%ham!=)];
f[j][ham] += dem; if(f[j][ham] >= mod) f[j][ham] -= mod;
f[j][ham] += f[j-][ku]; if(f[j][ham] >= mod) f[j][ham]-=mod;
}
}
}
printf("%d\n",f[m][num]);
return ;
}
Luogu5307 [COCI2019] Mobitel 【数论分块】【递推】的更多相关文章
- HRBUST 1211 火车上的人数【数论解方程/模拟之枚举+递推】
		火车从始发站(称为第1站)开出,在始发站上车的人数为a,然后到达第2站,在第2站有人上.下车,但上.下车的人数相同,因此在第2站开出时(即在到达第3站之前)车上的人数保持为a人.从第3站起(包括第3站 ... 
- Codeforces 1106F Lunar New Year and a Recursive Sequence (数学、线性代数、线性递推、数论、BSGS、扩展欧几里得算法)
		哎呀大水题..我写了一个多小时..好没救啊.. 数论板子X合一? 注意: 本文中变量名称区分大小写. 题意: 给一个\(n\)阶递推序列\(f_k=\prod^{n}_{i=1} f_{k-i}b_i ... 
- 【bzoj 2339】[HNOI2011]卡农(数论--排列组合+逆元+递推)
		题意:从编号为 1~N 的音阶中可选任意个数组成一个音乐片段,再集合组成音乐篇章.要求一个音乐篇章中的片段不可重复,都不为空,且出现的音符的次数都是偶数个.问组成 M 个片段的音乐篇章有多少种.答案取 ... 
- P5110-块速递推【特征方程,分块】
		正题 题目链接:https://www.luogu.com.cn/problem/P5110 题目大意 数列\(a\)满足 \[a_n=233a_{n-1}+666a_{n-2},a_0=0,a_1= ... 
- Leetcode 119 Pascal's Triangle II 数论递推
		杨辉三角,这次要输出第rowIndex行 用滚动数组t进行递推 t[(i+1)%2][j] = t[i%2][j] + t[i%2][j - 1]; class Solution { public: ... 
- Leetcode 118 Pascal's Triangle 数论递推
		杨辉三角,即组合数 递推 class Solution { vector<vector<int>> v; public: Solution() { ; i < ; ++i ... 
- HDU 4834 JZP Set(数论+递推)(2014年百度之星程序设计大赛 - 初赛(第二轮))
		Problem Description 一个{1, ..., n}的子集S被称为JZP集,当且仅当对于任意S中的两个数x,y,若(x+y)/2为整数,那么(x+y)/2也属于S.例如,n=3,S={1 ... 
- 【第53套模拟题】【递推】【RMQ】【二进制】【分块】
		题目:(开始自己描述题目了...) 第一题大意: 求1~n的所有排列中逆序对为k个的方案数,输出方案数%10000,n<=1000. 解:这道题一个递推,因为我基本上没怎么自己做过递推,所以推了 ... 
- UVa 1645 Count (递推,数论)
		题意:给定一棵 n 个结点的有根树,使得每个深度中所有结点的子结点数相同.求多棵这样的树. 析:首先这棵树是有根的,那么肯定有一个根结点,然后剩下的再看能不能再分成深度相同的子树,也就是说是不是它的约 ... 
随机推荐
- RK3399 pro 开发记录
			RK3399有三种启动模式:1.Normal模式:2.Loader模式:3.MaskRom模式. Normal模式是正常的启动过程,各个组件依次加载,直到正常进入系统. Loade ... 
- KS(Kolmogorov-Smirnov)值
			KS(Kolmogorov-Smirnov)值越大,表示模型能够将正.负客户区分开的程度越大.KS值的取值范围是[0,1] ks越大,表示计算预测值的模型区分好坏用户的能力越强. ks值 含义 > ... 
- python自动化登录获取图片登录验证码
			主要记录一下:图片验证码1.获取登录界面的图片2.获取验证码位置3.在登录页面截取验证码保存4.调用百度api识别(目前准确率较高的识别图片api)本次登录的系统页面,可以看到图片验证码的位置登录页面 ... 
- sqlserver2016 kb补丁
			1. win2012r2 安装时 总是提示: 然后费了半天劲 下载下来又提示 找了一下 需要先安装这么一个补丁才可以 KB2919442 然后才能安装上 KB2919355 然后就可以正常安装了: 
- 【maven】在pom.xml中引入对json-lib的依赖dependency
			<dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</art ... 
- shell编程系列18--文本处理三剑客之awk动作中的条件及if/while/do while/for循环语句
			shell编程系列18--文本处理三剑客之awk动作中的条件及if/while/do while/for循环语句条件语句 if(条件表达式) 动作1 else if(条件表达式) 动作2 else 动 ... 
- JQuery中formSerialize()报错:对象不支持"formSerialize"属性或方法
			formSerialize()是jQuery的表单插件中提供的方法. formSerialize()的核心方法是:$.param(data); Form表单经过formSerialize(),被序列化 ... 
- MongoDB数据表添加字段
			db.tshare_a.insert( { "_id" : ObjectId("57172b0f657f8bbb34d70147"), "picUrl ... 
- Python - Django - 装饰器版的登陆校验
			urls.py: from django.conf.urls import url from app01 import views urlpatterns = [ url(r'^login/', vi ... 
- 【DeepCTR】
			DeepFM: https://www.jianshu.com/p/6f1c2643d31b CCPM,FGCNN: https://cloud.tencent.com/developer/artic ... 
