听说标算的点数是2^(n+1)级别的,也不知道我是不是比标算优一点?

(话说这种题一眼看过去怎么跟题答一样)

然而并不是题答,没法手玩,来考虑一下一般解法:

考虑一个规模较小的问题:最后一位一定是0

不难发现变成了条件完全相同的一个子问题

再把最后一位加上

那么总共2^(n-1)个答案中的一部分会翻车,

若把会翻车的部分标记为1,不会翻车的标记为0,又得到一个完全相同的子问题(规模与上一个子问题一样)

那么原问题就可以表示为

(这一位的输入,两个子问题)进行一次操作

没了

考虑复杂度f(x)=2f(x-1)+O(2^x),f(x)=2^x,轻松过

点数应该也差不多是2^n?

 #include <bits/stdc++.h>
#define I n+2
#define O n+3
using namespace std;
int n,N,E,sum;
int a[],b[],c[];
bool rule[],fir[];
void addedge(int x,int y,int z)
{
a[++E]=x;b[E]=y;c[E]=z;
}
void work(int st,int en,int len,int pos)
{
if(len==)
{
if((rule[st]&)&&(rule[en]&)) addedge(O,n,pos),fir[pos]=;
else
if(rule[st]&) addedge(I,n,pos),fir[pos]=;
else
if(rule[en]&) addedge(I,n,pos),fir[pos]=;
else
addedge(O,n,pos),fir[pos]=;
return;
}
int mid=st+en>>;
work(st,mid,len-,pos);
for(int i=;i<=mid-st;i++)
rule[mid++i]^=rule[st+i];
int POS=++N;
work(mid+,en,len-,POS);
addedge(POS,n-len+,pos);
for(int i=;i<=mid-st;i++)
rule[mid++i]^=rule[st+i];
}
int main()
{
while(~scanf("%d",&n))
{
N=n+;E=;
fir[I]=;fir[O]=;
for(int i=;i<=<<n;i++)
{
char ch;
for(ch=getchar();!isdigit(ch);ch=getchar());
for(sum=;isdigit(ch);ch=getchar())
sum=sum*+ch-'';
scanf("%d",&rule[sum]);
}
work(,(<<n)-,n,n+);
printf("%d\n",fir[n+]);
printf("%d\n",N-n-);
for(int i=n+;i<=N;i++)
printf("%d\n",fir[i]);
printf("%d\n",E);
for(int i=;i<=E;i++)
printf("%d %d %d\n",a[i],b[i],c[i]);
}
return ;
}

hdu6062RXD and logic gates多校题 构造的更多相关文章

  1. HDU 4671 Backup Plan (2013多校7 1006题 构造)

    Backup Plan Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others)Total ...

  2. luogu 3709 大爷的字符串题 构造 莫队 区间众数

    题目链接 题目描述 给你一个字符串a,每次询问一段区间的贡献 贡献定义: 每次从这个区间中随机拿出一个字符\(x\),然后把\(x\)从这个区间中删除,你要维护一个集合S 如果\(S\)为空,你\(r ...

  3. UOJ #460. 新年的拯救计划 神仙题+构造

    对于这个神仙题,我还能说什么~ 第一个答案=$n/2$ 还是比较好猜的. 对于构造这个树,大概就是先从 $1$ 号节点向 $n/2$ 距离以内都连一条边,再在第 $n/2$ 个节点进行这个操作,然后从 ...

  4. CodeForces 931C Laboratory Work 水题,构造

    *这种题好像不用写题解... 题意: 一个人要改动别人的实验记录,实验记录记录是一个集合 实验记录本身满足:$max(X)-min(X)<=2$ 改动结果要求: 1.新的集合平均值和之前的一样 ...

  5. 集训第四周(高效算法设计)P题 (构造题)

    Description   There are N<tex2html_verbatim_mark> marbles, which are labeled 1, 2,..., N<te ...

  6. 集训第四周(高效算法设计)O题 (构造题)

    A permutation on the integers from 1 to n is, simply put, a particular rearrangement of these intege ...

  7. Codeforces Round #342 (Div. 2) D. Finals in arithmetic(想法题/构造题)

    传送门 Description Vitya is studying in the third grade. During the last math lesson all the pupils wro ...

  8. HDU4876ZCC loves cards(多校题)

    ZCC loves cards Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Tot ...

  9. Codeforces 1090D - Similar Arrays - [思维题][构造题][2018-2019 Russia Open High School Programming Contest Problem D]

    题目链接:https://codeforces.com/contest/1090/problem/D Vasya had an array of n integers, each element of ...

随机推荐

  1. ES索引瘦身 禁用_source后需要设置field store才能获取数据 否则无法显示搜索结果

    在默认情况下,开启_all和_source 这样索引下来,占用空间很大. 根据我们单位的情况,我觉得可以将需要的字段保存在_all中,然后使用IK分词以备查询,其余的字段,则不存储. 并且禁用_sou ...

  2. 勤于思考:jQuery Validation 在IE7(兼容模式)下出现“找不到成员”的脚本错误

    今天在调试IE10下使用IE6判断脚本出现错误,处理后说IE7也不行,调试后则会出现以下错误: SCRIPT3: 找不到成员. jquery171.js, 行2582 字符4 其实开始我认为是jque ...

  3. 【坑坑坑坑坑】fwrite没有把数据写到文件中???

    原文:https://blog.csdn.net/kuaidfkuai/article/details/45918025 <unix环境高级编程>中介绍标准IO: 标准IO流操作读写普通文 ...

  4. linux 进程学习笔记-消息队列messagequeue

    可以想象,如果两个进程都可以访问同一个队列:其中一个进程(sender)向其中写入结构化数据,另外一个进程(receiver)再从其中把结构化的数据读取出来.那么这两个进程就是在利用这个队列进行通信了 ...

  5. suse enterprise Linux 11上配置 oracle11g和tomcat开机自启动

    一.oracle 11g r2自启动 1.修改/etc/sysconfig/oracle文件: ORACLE_BASE=/oracle  //此处改为你安装的oracle目录 START_ORACLE ...

  6. 【运维程序】简单的命令控制器(支持定时命令执行、重复定时任务命令和进程管理,开发这个小程序主要是为了方便管理服务进程)【个人github项目】

    一.前言: command-controller 一个运维程序,简单的命令控制器(支持定时命令执行和重复定时命令,开发这个程序主要是为了方便管理服务进程) 本来是要用python做的,但是之前做ffm ...

  7. MySQL5.6中新增特性、不推荐使用的功能以及废弃的功能

    虽然已经使用MySQL5.6版本有一段时间了,但由于没有和之前的版本作过详细比较,所以对于哪些重要的或者不太重要的特性是在新版本中引入的,还有哪些特性已经或者将要从旧版本中移除的并没有一个十分全面的了 ...

  8. PowerShell 总结

    PowerShell 总结 1. 2. 3. 参考学习资料 (1). PowerShell 在线教程 (2). 利用Powershell在IIS上自动化部署网站 视频教程: (3). Windows ...

  9. UE4 框架

    转自:http://www.cnblogs.com/NEOCSL/p/4059841.html 有很多人是从UE3 接触到Unreal,如果你也对UE3非常了解,便能很快的上手UE4.但是,UE4的开 ...

  10. Selenium实战脚本集—新浪微博发送QQ每日焦点

    Selenium实战脚本集-新浪微博发送QQ每日焦点 http://www.spasvo.com/ceshi/open/kygncsgj/Selenium/201549150822.html 背景 很 ...