bzoj:1659: [Usaco2006 Mar]Lights Out 关灯
Description
Input
Output
Sample Input
1111111111
1101
Sample Output
1
3
4
6
7
HINT
使用5次插槽
1111111111 初始状态
0010111111 对第一个位置使用插槽
0001101111 对第三个位置使用插槽
0000000111 对第四个位置使用插槽
0000011101 对第六个位置使用插槽
0000010000 对第七个位置使用插槽
可以证明这是满足字典序最小的最优解。
#include<cstdio>
#include<iostream>
using namespace std; int n,m;
int f[],t[],i;
char c[];
int pos[];
int ans[],xp,o=,sp=;
void u(){
if(sp>o) return;
o=sp;
for(i=;i<=o;i++) ans[i]=pos[i];
}
bool dfs(int yyt,int xx){
if (xx>xp) return ;
if (sp>o) return ;
if (yyt>n-m+){
for (i=yyt;i<=n;i++) if (f[i]) xx++;
if (xx>xp) return ;
u();
return ;
}
for (i=;i<=m;i++) f[yyt+i-]^=t[i];
pos[++sp]=yyt;
bool cmp=dfs(yyt+,xx+f[yyt]);
for (i=;i<=m;i++) f[yyt+i-]^=t[i];
sp--;
cmp|=dfs(yyt+,xx+f[yyt]);
return cmp;
}
int main(){
scanf("%d%d",&n,&m);
scanf("%s",c+);for (i=;i<=n;i++) f[i]=c[i]-;
scanf("%s",c+);for (i=;i<=m;i++) t[i]=c[i]-;
for (xp=;xp<=n;xp++) if (dfs(,)) break;
printf("%d\n",o);
for (i=;i<=o;i++) printf("%d\n",ans[i]);
}
bzoj:1659: [Usaco2006 Mar]Lights Out 关灯的更多相关文章
- [BZOJ1659][Usaco2006 Mar]Lights Out 关灯
[BZOJ1659][Usaco2006 Mar]Lights Out 关灯 试题描述 奶牛们喜欢在黑暗中睡觉.每天晚上,他们的牲口棚有L(3<=L<=50)盏灯,他们想让亮着的灯尽可能的 ...
- Bzoj 1657: [Usaco2006 Mar]Mooo 奶牛的歌声 单调栈
1657: [Usaco2006 Mar]Mooo 奶牛的歌声 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 631 Solved: 445[Submi ...
- bzoj 1658: [Usaco2006 Mar]Water Slides 滑水
题解: 很神奇的做法,把点分成入度大于出度和入度小于出度两种. 然后入度大于出度的点必须走到某个点,所以排序贪心. #include<stdio.h> #include<iostre ...
- BZOJ 1657 [Usaco2006 Mar]Mooo 奶牛的歌声:单调栈【高度序列】
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1657 题意: Farmer John的N(1<=N<=50,000)头奶牛整齐 ...
- bzoj 1657 [Usaco2006 Mar]Mooo 奶牛的歌声——单调栈水题
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1657 #include<iostream> #include<cstdio ...
- bzoj 1657: [Usaco2006 Mar]Mooo 奶牛的歌声【单调栈】
先考虑只能往一边传播,最后正反两边就行 一向右传播为例,一头牛能听到的嚎叫是他左边的牛中与高度严格小于他并且和他之间没有更高的牛,用单调递减的栈维护即可 #include<iostream> ...
- BZOJ1657: [Usaco2006 Mar]Mooo 奶牛的歌声
1657: [Usaco2006 Mar]Mooo 奶牛的歌声 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 489 Solved: 338[Submi ...
- 1657: [Usaco2006 Mar]Mooo 奶牛的歌声
1657: [Usaco2006 Mar]Mooo 奶牛的歌声 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 526 Solved: 365[Submi ...
- bzoj1722: [Usaco2006 Mar] Milk Team Select 产奶比赛 树形dp
题目链接 bzoj1722: [Usaco2006 Mar] Milk Team Select 产奶比赛 题解 dp[i][j][0 / 1] 以i为根的子数中 相邻点对选了j个的最大价值 代码 #i ...
随机推荐
- SSH连接工具:SecureCRT设置,另一个SSH连接工具:Xshell。在Windows和Linux之间互传文件可用WinSCP
一般Linux发行版不允许root远程登录,CentOS允许. 调整字体大小:
- JavaScript基础2——关于变量
变量的声明 变量的定义:使用var关键字来声明,区分大小写的.注意:不用var,会污染全局变量. 变量的命名规范是:字母,数字,$符 ...
- vmstat 命令详解
作用:vmstat 的含义为显示虚拟内存状态(virtual memor statics),但是它可以报告关于进程,内存,I/O 等系统整体运行状态 选项: -a 显示活动内页 -f 显示启动后创建的 ...
- awk 命令详解
作用:awk 是一种编程语言, 用于在linux/unix 下对文本和数据进行处理. 数据可以来自标准输入(stdin),一个或多个文件, 或其他命令的输出.它支持用户自定义函数和动态正则表达式等先进 ...
- pwd 命令详解
pwd 作用: 以绝对路径的方式显示用户当前工作目录,命令将当前目录的全路径名称(从根目录)写入标准输出, 全部目录使用/分隔,第一个/表示根目录, 最后一个/ 表示当前目录. 执行pwd 命令可以立 ...
- 未来五年什么样的IT技术最具颠覆性?这里有你想知道的答案
据外媒报道称,近日Gartner研讨会在美国弗罗里达州奥兰多举行,智能化.大数据和物联网成为届研讨会的三大主题.市场研究机构Gartner Research的副总裁兼资深研究员大卫·卡利(David ...
- js 停止事件冒泡 阻止浏览器的默认行为(阻止a标签跳转 )
在前端开发工作中,由于浏览器兼容性等问题,我们会经常用到"停止事件冒泡"和"阻止浏览器默认行为". 1..停止事件冒泡 JavaScript代码 //如果提供了 ...
- 微信红包店小程序开发过程中遇到的问题 php获取附近周边商家 显示最近商家
最近公司在做一个项目就是微信红包店.仿照的是微信官方在做的那个红包店的模式.客户抢红包,抢到以后到店消费,消费以后就可以拿到商家的红包了. 项目中的两个难点: 1通过小程序来发红包 这个之前在开发语 ...
- 微信小程序生成带参数的二维码 小程序二维码
我是用php写的 先按照要求生成accesstoken $tokenUrl="https://api.weixin.qq.com/cgi-bin/token?grant_type=clien ...
- 关于recycleview 滑动item变长(item变形)问题
昨天在做项目的时候出现了bug,表现是在滑动的时候,整个item会被拉长了,松手后就回归正常大小了, 出现这个的主要原因是因为你的item布局中最大的那个根布局是 match_parent状态,因此导 ...