[USACO Section 3.2] 01串 Stringsobits (动态规划)

news/2025/1/15 15:38:19/

题目链接

Solution

贼有意思的 DP, 也可以用组合数学做.
\(f[i][j]\) 代表前 \(i\) 位,有 \(j\)\(1\) 的方案数.
转移方程很简单 : \(f[i][j]=f[i-1][j]+f[i-1][j-1]\)
然后可以按位判断答案上是否为 \(1\) .
如何判断?
如果当前 \(f[i][L]\) 小于 \(I\) ,那么我们所要的方案一定 \(i\) 位上为 \(1\);
同时用 \(I\) 减去 \(f[i][L]\) , \(L\) 同时减掉 \(1\);

Code

#include<bits/stdc++.h>
using namespace std;
int f[52][52]={0},ans[52];
int N, L;
long long I; int main()
{cin>>N>>L>>I;for (int i=0;i<=N;i++)f[i][0] =f[0][i]=1;for (int i=1;i<=N;i++)for (int j=1;j<=N;j++)if(j<=i)f[i][j]=f[i-1][j-1] + f[i-1][j];else f[i][j]=f[i][i];for (int i=N;i >=1;i--) {if (I>f[i-1][L]) {cout<<1;I-=f[i-1][L];L--;}else cout<<0 ;}
}

转载于:https://www.cnblogs.com/Kv-Stalin/p/9685560.html


http://www.ppmy.cn/news/613782.html

相关文章

银河麒麟系统安装mysql数据库[mysql-5.7.28-linux-glibc2.12-x86_64]

银河麒麟系统安装mysql数据库 1.1 准备材料 mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz MySQL5.7下载地址 https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz 1.1 安装前准备工作 1、检查是否已经安装MySQL [rootlocalhost ~]# rpm …

oracle没什么没有备份,怎么恢复没有备份的Oracle数据库

数据文件丢失&#xff0c;没有备份&#xff0c;拥有文件创建以来的全部归档&#xff0c;使用RMAN恢复&#xff0c;报错RMAN-06102: no channel to restore a backup or copy of log thread 1 seq 726 scn 1757142927; 使用sqlplus恢复, 执行 Alter Database recover datafile …

小程序--分包加载

分包加载 微信客户端 6.6.0&#xff0c;基础库 1.7.3 及以上版本开始支持。开发者工具请使用 1.01.1712150 及以上版本&#xff0c;可点此下载。 某些情况下&#xff0c;开发者需要将小程序划分成不同的子包&#xff0c;在构建时打包成不同的分包&#xff0c;用户在使用时按需进…

oracle 撤销回退,Oracle 回滚(ROLLBACK)和撤销(UNDO)

五、计算UNDO表空间的大小计算公式&#xff1a;MAX(undoblks)/600 * MAX(maxquerylen)位于v$undostat* db_block_size位于v$parameter--创建演示环境SQL> INSERT INTO tb_test SELECT employee_id,first_name FROM hr.employees;107 rows createdSQL> INSERT INTO tb_tes…

【模拟】不高兴的津津

AC代码 #include <bits/stdc.h> using namespace std; #define ms(a,b) memset(a,b,sizeof(a)) typedef long long ll; inline int read(){int X0,w0; char ch0;while(!isdigit(ch)) {w|ch-;chgetchar();}while(isdigit(ch)) X(X<<3)(X<<1)(ch^48),chgetchar…

图像超分辨率算法:CVPR2020

图像超分辨率算法&#xff1a;CVPR2020 Unpaired Image Super-Resolution using Pseudo-Supervision 论文地址&#xff1a; http://openaccess.thecvf.com/content_CVPR_2020/papers/Maeda_Unpaired_Image_Super-Resolution_Using_Pseudo-Supervision_CVPR_2020_paper.pdf …

oracle insert忽略重复数据,Oracle’INSERT ALL’忽略重复项

在Oracle中,语句要么完全成功要么完全失败(它们是原子的).但是,您可以在某些情况下添加子句来记录异常而不是引发错误&#xff1a;>使用BULK COLLECT – SAVE EXCEPTIONS,如this thread on askTom所示,>或使用DBMS_ERRLOG(我认为10g以后可用).第二种方法都是自动的,这是一…

Codeforces.1051F.The Shortest Statement(最短路Dijkstra)

题目链接 先随便建一棵树。 如果两个点(u,v)不经过非树边&#xff0c;它们的dis可以直接算。 如果两个点经过非树边呢&#xff1f;即它们一定要经过该边的两个端点&#xff0c;可以直接用这两个点到 u,v 的最短路更新答案。 所以枚举每条非树边的两个端点&#xff0c;求一遍这两…