博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVa1607 poj1435 UVaLive1686 Gates
阅读量:5317 次
发布时间:2019-06-14

本文共 1729 字,大约阅读时间需要 5 分钟。

填坑系列(p.246)

由函数连续性得满足二分性

 

1 #include
2 #include
3 #include
4 #include
5 #include
6 7 using namespace std; 8 9 void setIO(const string& s) {10 freopen((s + ".in").c_str(), "r", stdin);11 freopen((s + ".out").c_str(), "w", stdout);12 }13 template
Q read(Q& x) {14 static char c, f;15 for(f = 0; c = getchar(), !isdigit(c); ) if(c == '-') f = 1;16 for(x = 0; isdigit(c); c = getchar()) x = x * 10 + c - '0';17 if(f) x = -x;18 return x;19 }20 template
Q read() {21 static Q x; read(x); return x;22 }23 24 const int N = 200000 + 5;25 26 int n, m;27 struct Gates {28 int a, b, o;29 }gates[N];30 31 int output(int k) {32 for(int i = 1; i <= m; i++) {33 int a = gates[i].a;34 int b = gates[i].b;35 int va = a < 0 ? -a > k : gates[a].o;36 int vb = b < 0 ? -b > k : gates[b].o;37 gates[i].o = !(va && vb);38 }39 return gates[m].o;40 }41 42 int solve(int vn) {43 int L = 1, R = n;44 while(L < R) {45 int mid = L + (R - L) / 2;46 if(output(mid) == vn) R = mid; else L = mid + 1;47 }48 return L;49 }50 51 int main() {52 #ifdef DEBUG53 freopen("in.txt", "r", stdin);54 freopen("out.txt", "w", stdout);55 #endif56 57 int T; scanf("%d", &T);58 while(T--) {59 scanf("%d%d", &n, &m);60 for(int i = 1; i <= m; i++) {61 scanf("%d%d", &gates[i].a, &gates[i].b);62 }63 int v0 = output(0), vn = output(n);64 if(v0 == vn) for(int i = 1; i <= n; i++) putchar('0');65 else {66 int p = solve(vn);67 for(int i = 1; i < p; i++) putchar('0');68 putchar('x');69 for(int i = p + 1; i <= n; i++) putchar('1');70 }71 puts("");72 }73 74 75 return 0;76 }
View Code

 

转载于:https://www.cnblogs.com/showson/p/5090642.html

你可能感兴趣的文章
微软职位内部推荐-SENIOR SOFTWARE ENGINEER
查看>>
Redis系统性介绍
查看>>
(备忘)打开office2010总是在配置进度
查看>>
jquery中的ajax方法(备忘)
查看>>
iOS基础-高级视图-UITableView--静态单元格
查看>>
打印图片的属性和实现另存图片功能以及使用numpy
查看>>
IOS-网络(大文件下载)
查看>>
基于MySQL的高可用可扩展架构探讨
查看>>
linux系统服务设置命令--chkconfig命令参数及用法详解
查看>>
信息安全系统设计基础第七周学习总结
查看>>
读取bmp图片数据
查看>>
java 实现快速排序
查看>>
python学习day2:类与对象
查看>>
Mathematica修改默认字体
查看>>
JQ插件 jquery mobiscroll
查看>>
iOS AVPlayer 简单应用
查看>>
DOM节点创建(jQuery)
查看>>
Git删除不存在对应远程分支的本地分支
查看>>
Mybatis-Generator自动生成XML文件以及接口和实体类
查看>>
使用RestTemplate时报错java.lang.IllegalStateException: No instances available for 127.0.0.1
查看>>