/*
一开始认为是个水题 直接模拟
没想到只得了50分 一看数据吓niao了
模拟妥妥的TLE
实在不好优化了0.0(最快O(m))
然后借鉴别人的 DP+神奇的输出
DP:状态:f[i][j] 前i个字符出现j次1的数字个数
很容易想到 如果i是1 f[i][j]=f[i][j]+f[i-1][j-1]
如果i是0 f[i][j]=f[i][j]+f[i-1][j]
初始化 i==0||j==0时 个数为1
然后就是神奇的输出了0.0
看代码吧
*/ /*
TLE 50
模拟
*/
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
int n,l,m,num;
int main()
{
cin>>n>>l>>m;
int s=(<<n-)-;
for(int i=;i<=s;i++)
{
int li=,x=i,y;
while(x>)
{
y=x%;
x=x/;
if(y==)li++;
}
if(li<=l)num++;
if(num==m)
{
int a[]={},li=;
while(i>)
{
a[++li]=i%;
i=i/;
}
for(int j=n;j>=;j--)
cout<<a[j];
return ;
}
}
}
/*
AC 100
DP
*/
#include<iostream>
#include<cstdio>
#include<cstring>
#define ll long long
using namespace std;
ll f[][],n,l,m;
int main()
{
ll i,j;
cin>>n>>l>>m;
for(i=;i<=n;i++)f[i][]=;
for(i=;i<=l;i++)f[][i]=;
for(i=;i<=n;i++)
for(j=;j<=l;j++)
f[i][j]=f[i-][j]+f[i-][j-];
m--;//减掉0的一种情况
for(i=n;i>=;i--)//枚举位置
if(m&&f[i-][l]<=m)//输出1的条件:前i-1位中含‘剩余’l的数字个数不超过m并且m>=1
{
cout<<;
m=m-f[i-][l];//与‘目标’还差几
l--;//‘剩余’l的数字个数
}
else cout<<;
return ;
}

codevs2034 01串2的更多相关文章

  1. JZOJ P1847:找01串

    传送门 DP预处理+贪心 首先设$f[i][j]$表示长度为$i$的01串中有不大于$j$个1,然后显然 $f[i][j]=\sum_{k=1} ^{j} C[i][k]$ $C[i][j]=C[i- ...

  2. 洛谷P2727 01串 Stringsobits

    P2727 01串 Stringsobits 24通过 55提交 题目提供者该用户不存在 标签USACO 难度普及+/提高 提交  讨论  题解 最新讨论 这题的思路是啥啊!!!跪求- 题目背景 考虑 ...

  3. C++实现01串排序

    题目内容:将01串首先按长度排序,长度相同时,按1的个数从少到多进行排序,1的个数相同时再按ASCII码值排序. 输入描述:输入数据中含有一些01串,01串的长度不大于256个字符. 输出描述:重新排 ...

  4. 01串(dp)

    01串 时间限制:1000 ms  |  内存限制:65535 KB 难度:2   描述 ACM的zyc在研究01串,他知道某一01串的长度,但他想知道不含有“11”子串的这种长度的01串共有多少个, ...

  5. 【巧妙】【3-21个人赛】Problem C 01串

    Problem C Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other) Total Sub ...

  6. NYOJ-252 01串

    01串 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描写叙述 ACM的zyc在研究01串,他知道某一01串的长度,但他想知道不含有"11"子串的这样的长 ...

  7. NYOJ 252 01串(斐波那契数列变形)

    01串 时间限制:1000 ms  |  内存限制:65535 KB 难度:2   描述 ACM的zyc在研究01串,他知道某一01串的长度,但他想知道不含有“11”子串的这种长度的01串共有多少个, ...

  8. COGS 862. 二进制数01串【dp+经典二分+字符串】

    862. 二进制数01串 ★   输入文件:kimbits.in   输出文件:kimbits.out   简单对比 时间限制:1 s   内存限制:128 MB USACO/kimbits(译 by ...

  9. 1415: 小ho的01串 [字符串]

    点击打开链接 1415: 小ho的01串 [字符串] 题目描述 有一个由0和1组成的字符串,它好长呀--------一望无际 恩,说正题,小ho的数学不太好,虽然是学计算机的但是看见0和1也是很头疼的 ...

随机推荐

  1. linux系统删除空间后系统分区空间仍不释放问题

    总结的原因: 1.删除文件文件后没有清空回收站; 2.删除的文件不在系统分区,在其他分区上; 3.删除的文件被保留在了/tmp分区下,而/tmp分区不是独立的分区,是在根分区/的基础上划分出来的分区; ...

  2. 转:gpio_direction_output 与 gpio_set_value

    gpio_set_value(port_num,0/1) 一般只是在这个GPIO口的寄存器上写上某个值,至于这个端口是否设置为输出,它就管不了! 而gpio_direction_output (por ...

  3. WPF感悟(1)

    原文地址:http://liutiemeng.blog.51cto.com/120361/91632 1.UI层与逻辑层要尽可能地剥离(解耦). 2.Routed Event和Command比Even ...

  4. [BZOJ 1042] [HAOI2008] 硬币购物 【DP + 容斥】

    题目链接:BZOJ - 1042 题目分析 首先 Orz Hzwer ,代码题解都是看的他的 blog. 这道题首先使用DP预处理,先求出,在不考虑每种硬币个数的限制的情况下,每个钱数有多少种拼凑方案 ...

  5. requirejs 合并方案

    http://snandy.iteye.com/blog/1595464 http://www.cnblogs.com/snandy/archive/2012/03/05/2378105.html h ...

  6. 模拟键盘发送文字(使用SendInput函数)

    嗯...老生常谈的话题, 不过系统的总结了一下, 找了个相对简单的实现方式, 可以方便的发送任何文字 参考另一片文章: http://www.cnblogs.com/-clq/archive/2011 ...

  7. 本地yum源

    <pre name="code" class="html">1.为DVD创建一个挂载目录 [root@localhost ~]# mkdir /me ...

  8. MFC弹出模拟对话框

    Windows对话框分为两类:模态对话框和非模态对话框. 模态对话框是这样的对话框,当它弹出后,本应用程序其他窗口将不再接受用户输入,只有该对话框响应用户输入,在对它进行相应操作退出后,其他窗口才能继 ...

  9. jquery 学习第一课之start

    1.$选取符 ( $ == jQuery ) (1) $("div").addClass("special");选取本页面中的所有<div>元素,然 ...

  10. HDOJ 2071 Max Num

    Problem Description There are some students in a class, Can you help teacher find the highest studen ...