当前位置:网站首页>【7.13】代码源 -【饿饿 饭饭】【路径计数2】【函数求和】
【7.13】代码源 -【饿饿 饭饭】【路径计数2】【函数求和】
2022-07-17 18:28:00 【ZhgDgE】
#463. 饿饿 饭饭
题意:有 n ( n ≤ 1 0 5 ) n(n\leq 10^5) n(n≤105) 个同学正在排队打饭,第 i i i 个同学排在从前往后第 i i i 个位置。但是这天食堂内只有一个食堂阿姨,为了使同学们都能尽快的吃上饭,每一个同学在打完一份饭之后就会排在队伍的末尾先吃着打到的饭,我们知道第i个同学的饭量为 a i a_i ai ,也就是说第i个同学要吃 a i a_i ai 份饭才能吃饱,当一位同学吃饱后,他就会立刻离开食堂,不会排在队伍的末尾。食堂阿姨想知道,在打完 k k k 份饭之后,队伍的样子是怎样的,但是食堂阿姨数学不太好,想让你帮忙想想办法。
思路:二分一下会完整的走过几轮。二分出来之后,把仍在食堂的学生挑出来,模拟 k ′ k' k′ 次即可。
AC代码:http://oj.daimayuan.top/submission/286216
#467. 路径计数2
题意:有一个 n × n ( 1 ≤ n ≤ 1 0 6 ) n\times n(1\leq n\leq 10^6) n×n(1≤n≤106) 的网格,有些格子是可以通行的,还有 m ( m ≤ 3000 ) m(m\leq 3000) m(m≤3000) 个格子是障碍。
一开始你在左上角的位置,你可以每一步往下或者往右走,问有多少种走到右下角的方案。
由于答案很大,输出对 1 0 9 + 7 10^9+7 109+7 取模的结果。
题解:(动态规划) 有障碍的路径计数 (代码源每日一题Div1)
思路:去枚举每一个格子肯定是不行的,我们可以考虑只枚举障碍,看是否能计算出答案。
我们定义 d p ( i ) dp(i) dp(i) 为从起点走到第 i i i 个障碍而不经过其他障碍的路径数量,把终点当作最后一个障碍,记得得出答案。怎么递推呢?可以用容斥的思想,我们容易知道知道起点走到某障碍 ( x , y ) (x,y) (x,y) 的路径数量(不考虑其他障碍)为 C x − 1 + y − 1 x − 1 C_{x-1+y-1}^{x-1} Cx−1+y−1x−1 ,那么需要计算出至少经过一个障碍的路径数量并减去。对于这种路径,我们按照路径第一个经过的障碍编号来分类,假如可能经过 m m m 个障碍,那么第一个经过障碍 j j j 的路径数量为 d p ( j ) × C x j − x i + y j − y i x j − x i , j ∈ [ 1 , m ] dp(j)\times C_{x_j-x_i+y_j-y_i}^{x_j-x_i},j\in[1,m] dp(j)×Cxj−xi+yj−yixj−xi,j∈[1,m] 。
AC代码:http://oj.daimayuan.top/submission/286311
#468. 函数求和
题意: n ≤ 100 , k ≤ 60 n\leq 100,k\leq 60 n≤100,k≤60
思路:考虑枚举 i = f ( x ) i=f(x) i=f(x) 来计算有多少个 x x x 使得 f ( x ) = i f(x)=i f(x)=i 。要使得 a i & x ≠ a i a_i\&x\ne a_i ai&x=ai ,需要 a i a_i ai 为一的位上 x x x 至少有一位是 0 0 0 。那么我们初始有一个长度为 k k k 的二进制数,每一位初始都是 ∗ * ∗ 即自由态。我们遇到 a i a_i ai 时,设 m o d mod mod 为 a i a_i ai 为 1 且 x x x 为 ∗ * ∗ 的位数, n m o d nmod nmod 为 a i a_i ai 为 0 且 x x x 为 ∗ * ∗ 的位数。
我们要使得 a i a_i ai 为 1 的位上 x x x 至少有一位是 0 0 0 ,那么可以把 2 m o d + n m o d 2^{mod+nmod} 2mod+nmod 这剩下的数量分类为 ( 2 m o d − 1 ) × 2 n m o d (2^{mod}-1)\times 2^{nmod} (2mod−1)×2nmod 和 2 n m o d 2^{nmod} 2nmod ,前者是对应 a i a_i ai 位上至少一位是 0 的个数,剩下的则是对应 a i a_i ai 位上全部是 1 的个数。然后把 m o d mod mod 对应位从 ∗ → 1 *\rightarrow1 ∗→1 即可。
边栏推荐
- 名片管理的框架搭建
- Atmospheric non isohalo effect
- 关于XML文件(七)- XML DTD
- Code after annotation of hands-on deep learning (Second Edition) [continuous update]
- Is it safe for Everbright futures to open an account online? Are there any account opening guidelines?
- Onvif protocol related: 2.1.3 get the stream address in none mode
- 忘掉Postman,Apifox更好用
- codeforce:G. Good Key, Bad Key【贪心】
- 深度学习从入门到放弃100天挑战
- onvif协议相关:2.1.2 none方式获取截图url
猜你喜欢

Advanced C language -- character function and string function

Onvif protocol related: 3.1.3 get screenshot URL in digest mode

onvif协议相关:3.1.2 Digest方式获取token列表

torch. utils. data. Dataloader description

565. Array nesting

力扣64-最小路径和——动态规划入门题型

Supported metal organic framework zif-8 / graphene oxide hydrogen storage material | titanium dioxide /zif-8 composite | silicon dioxide @zif8 nano material

【考研词汇训练营】Day 5 —— alarmist,cooperate,point,benefit,industrial,revolution,mechanize

onvif协议相关:3.1.3 Digest方式获取截图url

onvif协议相关:4.1.2 WS-Username token方式获取token
随机推荐
onvif协议相关:4.1.2 WS-Username token方式获取token
Porphyrin encapsulated organometallic frame materials [email protected] |
ssh无密钥登录
Metal organic framework material / polymer composite zif-8/p (TDA co HDA) | zinc oxide [email protected] (FE) composite nan
统计直播间的榜一信息,从这里起步
【Pygame 学习笔记】5.rect对象的碰撞检测
实现自动记录日志
[pyGame learning notes] 7 event
Using the case statement will produce a latch condition
[pumpkin Book ml] (task2) mathematical derivation of linear model (least squares estimation, generalized Rayleigh quotient, maximum likelihood estimation, etc.)
鸿蒙设备开发快速入门之Helloword与LED——华为云14天鸿蒙设备开发实战学习笔记 第二篇
Onvif protocol related: 4.1.2 WS username token method to obtain token
What are the pain points of collaborative tools collaborative office management
Li Kou 413 division of equal difference sequence dynamic programming
Solutions to the failure of dedecms dream weaving to save the current column changes
Onvif protocol related: 3.1.3 get screenshot URL in digest mode
Onvif protocol related: 3.1.2 get the token list in digest mode
Array simulation queue
codeforce:A. Doremy‘s IQ【反向贪心】
Azkaban installation documentation