听说标算的点数是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. 【转】PHP生成器 (generator)和协程的实现

    原文地址:https://phphub.org/topics/1430 1.一切从 Iterator 和 Generator 开始 为便于新入门开发者理解,本文一半篇幅是讲述迭代器接口(Iterato ...

  2. unreal network

    frame move buffer: save move position recive server sync:All moves earlier than the ClientAdjustPosi ...

  3. linux命令学习笔记-md5sum 命令详解

    前言 在网络传输.设备之间转存.复制大文件等时,可能会出现传输前后数据不一致的情况.这种情况在网络这种相对更 不稳定的环境中,容易出现.那么校验文件的完整性,也是势在必行的. 使用说明 md5sum命 ...

  4. 「P3385」【模板】负环(spfa

    题目描述 暴力枚举/SPFA/Bellman-ford/奇怪的贪心/超神搜索 输入输出格式 输入格式: 第一行一个正整数T表示数据组数,对于每组数据: 第一行两个正整数N M,表示图有N个顶点,M条边 ...

  5. 【LeetCode】027. Remove Element

    题目: Given an array and a value, remove all instances of that value in place and return the new lengt ...

  6. CentOS 6.6 搭建Zabbix 3.0.3 过程

    分享CentOS 6.6下搭建Zabbix 3.0.3 的过程,希望都大家有所帮助. 环境安装 系统环境: # cat /etc/RedHat-release CentOS release 6.6 ( ...

  7. fabric添加多主机ssh互信

    最近折腾fabric,把服务器ssh互信用fabric写了一遍,单向互信,master可以无密码访问client,具体如下: 执行:fab  -f ./copyrsa.py allsshkey 即可, ...

  8. 二叉树遍历入门 Lebal:research

    解决二叉树遍历的画法 对于二叉树的基本概念,一般学生都知道,但对于二叉树的遍历,在实际运用中可以发现很多问题,这里提供一次性彻底解决这个问题的方法. 二叉树的遍历 二叉树的遍历是指不重复地访问二叉树中 ...

  9. 微信公众平台:扫一扫demo

    ylbtech-微信公众平台:扫一扫demo 1.返回顶部 1.Web.config <appSettings> <add key="appid" value=& ...

  10. spring-data-cassanra的简单使用

    之前写了JAVA操作cassandra驱动包,现在来看看spring-data对cassandra的支持.这里是spring-data-cassandra的官方文档:http://docs.sprin ...