2017 ZSTU寒假排位赛 #5
题目链接:https://vjudge.net/contest/148901#overview。
A题,排序以后xjbg即可。
B题,弄个数组记录当前列是不是删除以及当前行是不是已经大于下一行然后乱搞即可。
C题,线段树写的比较无脑,但是可以直接搞,在遍历的时候记录最大的,然后继续找的时候更新答案即可。
D题,题意是给出m个限制条件,每个限制条件表示[L,R]范围内&和为x。问是不是存在这样的数组。方法是线段树记录区间内&的和。然后m组每次更新[L,R]都使得|上x,因为要&为1,二进制下该位必须为1,而|上去能够使得这位结果必为1(很巧妙)。然后就可以做了。代码如下:
1 #include <stdio.h> 2 #include <algorithm> 3 #include <string.h> 4 #include <map> 5 #include <vector> 6 #include <queue> 7 #include <set> 8 #include <iostream> 9 #define t_mid (l+r>>1) 10 #define ls (o<<1) 11 #define rs (o<<1|1) 12 #define lson ls,l,t_mid 13 #define rson rs,t_mid+1,r 14 using namespace std; 15 const int N = 100000 + 5; 16 typedef long long ll; 17 typedef pair<int,int> pii; 18 19 int c[N<<2]; 20 int lazy[N<<2]; 21 int n,m; 22 void up(int o) {c[o] = c[ls] & c[rs];} 23 void down(int o,int l,int r) 24 { 25 if(l == r) return ; 26 if(lazy[o]) 27 { 28 c[ls] |= lazy[o]; 29 c[rs] |= lazy[o]; 30 lazy[ls] |= lazy[o]; 31 lazy[rs] |= lazy[o]; 32 lazy[o] = 0; 33 } 34 } 35 void build(int o,int l,int r) 36 { 37 if(l == r) 38 { 39 c[o] = lazy[o] = 0; 40 return ; 41 } 42 build(lson); 43 build(rson); 44 up(o); 45 } 46 void update(int o,int l,int r,int ql,int qr,int f) 47 { 48 if(l == ql && r == qr) 49 { 50 c[o] |= f; 51 lazy[o] |= f; 52 return ; 53 } 54 down(o,l,r); 55 if(qr <= t_mid) update(lson,ql,qr,f); 56 else if(ql > t_mid) update(rson,ql,qr,f); 57 else 58 { 59 update(lson,ql,t_mid,f); 60 update(rson,t_mid+1,qr,f); 61 } 62 up(o); 63 } 64 int query(int o,int l,int r,int ql,int qr) 65 { 66 if(l == ql && r == qr) return c[o]; 67 down(o,l,r); 68 if(qr <= t_mid) return query(lson,ql,qr); 69 else if(ql > t_mid) return query(rson,ql,qr); 70 else return query(lson,ql,t_mid) & query(rson,t_mid+1,qr); 71 } 72 73 int x[N],y[N],z[N]; 74 bool can() 75 { 76 for(int i=1;i<=m;i++) 77 { 78 if(query(1,1,n,x[i],y[i]) != z[i]) return false; 79 } 80 81 puts("YES"); 82 for(int i=1;i<=n;i++) printf("%d%c",query(1,1,n,i,i), i==n?'\n':' '); 83 return true; 84 } 85 86 int main() 87 { 88 cin >> n >> m; 89 for(int i=1;i<=m;i++) 90 { 91 scanf("%d%d%d",x+i,y+i,z+i); 92 update(1,1,n,x[i],y[i],z[i]); 93 } 94 if(can() == false) puts("NO"); 95 return 0; 96 }
D
E题,思路参见这个。我自己代码如下:
1 #include <stdio.h> 2 #include <algorithm> 3 #include <string.h> 4 #include <map> 5 #include <vector> 6 #include <queue> 7 #include <set> 8 #include <iostream> 9 #define t_mid (l+r>>1) 10 #define ls (o<<1) 11 #define rs (o<<1|1) 12 #define lson ls,l,t_mid 13 #define rson rs,t_mid+1,r 14 using namespace std; 15 const int N = 100000 + 5; 16 typedef long long ll; 17 typedef pair<int,int> pii; 18 19 ll a[100]; 20 ll p,q; 21 int n; 22 23 int main() 24 { 25 cin >> p >> q; 26 cin >> n; 27 for(int i=1;i<=n;i++) cin >> a[i]; 28 int i; 29 for(i=1;i<=n;i++) 30 { 31 if(q == 0 || (double)p/q < a[i]) break; 32 p -= a[i] * q; 33 swap(p, q); 34 } 35 if(i == n + 1 && q == 0) puts("YES"); 36 else puts("NO"); 37 return 0; 38 }
E
转载于:https://www.cnblogs.com/zzyDS/p/6351726.html
2017 ZSTU寒假排位赛 #5相关推荐
- 2017 ZSTU寒假排位赛 #8
题目链接:https://vjudge.net/contest/149845#overview. A题,水题. B题,给出 p个 第一个人的区间 和 q个第二个人的区间,问[l,r]中有多少个整数满足 ...
- 2017年寒假集训分组测试赛2 Ranklist
初级二十四点游戏 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 受李老师的影响,他4岁的孩 ...
- GDUT 寒假排位赛三
[题目链接:]http://codeforces.com/group/NVaJtLaLjS/contest/238202 感想 emmmm,这套题有个特点,代码量小的考思维,而那些一眼看过去思路就有了 ...
- GDUT 寒假排位赛二
直接看题 [题目链接]: http://codeforces.com/group/NVaJtLaLjS/contest/238204 A. Taming the Herd(签到题) 题意: 有一张表, ...
- 2017级寒假ACM集训结训赛--官方题解
博客地址 A:SDUTOJ4142 蚂蚁花呗 AC/SUBMIT : 25/245 by:郭小冉(徐红博) 考查知识点:栈 通过简单的栈模拟,对于向左走的蚂蚁如果没有向右走的蚂蚁直接加入进栈,如果有, ...
- 第一次随笔之寒假作业一
2017寒假作业一 前言 这是我第一次接触此类博客,也是第一次写博客,个人处于比较懵逼的状态.加之家里没有网络,不能边写边参考同学和老师的博客,更糟糕的是不能学习什么markdown,什么个git啊, ...
- SDUTOJ3771_数组计算机(线段树)
数组计算机 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description bLue 有一个神器的机器 ...
- Codeforces Round #341 (Div. 2)
在家都变的懒惰了,好久没写题解了,补补CF 模拟 A - Wet Shark and Odd and Even #include <bits/stdc++.h>typedef long l ...
- 大事 | 生活终于对我的联想Y430P下手了!
文章目录 写在前面 下手前 下手中 下手后 相关链接 写在前面 如果你是个职业维修人员,请忽略本文! 如果你使用的是超薄本,请忽略本文! 如果你的电脑正常,请忽略本文! 下手前 最近干了一件" ...
- 北航计算机考研经验_2018届考研
北航计算机考研经验 标签(空格分隔): 考研 我报的是计算机专硕,不分方向.初试347分,其中政治72,英语67,数学114,专业课94.2018年专硕复试线290分/学硕310分:我347分排在第6 ...
最新文章
- 移动端数据java后台接收
- 图片压缩大小java_压缩图片大小(Java源码)
- 初识Docker-什么是docker
- mysql 密码sha256_MySQL5.6启用sha256_password插件
- 【杭州云栖】飞天技术汇大视频专场:全民视频时代下的创新技术之路
- 绘制正方形图形(C语言)
- 华为 常用的查看命令
- pwr | 谁说样本量计算是个老大难问题!?(二)(独立样本均值篇)
- 航班信息的查询与检索Java,航班信息的查询与检索
- 安卓手机连接不上电脑的解决方法 adb devices 找不到设备
- 安卓前端开发!移动APP开发框架盘点,附带学习经验
- MySQL快速学习笔记(建议收藏)
- 精通正则表达式读书笔记
- 百度地图API支持HTTPS
- 训练时评估指标无变化,且预测值都一样
- 深圳, 香港, 台北之對比
- 如何编写好的用户手册?
- iFace区块链又一明星项目,比EOS生态更先进,比VDS生态更完美--iFace [ 爱妃链 ] 生态规划白皮书v1.0
- 智慧城市可视化管理系统
- 2018年度硬件–Apple Watch Series 4、Xbox等自适应控制器
热门文章
- mysql commit慢_MySQL慢日志中COMMIT事件
- 自由移动的气泡_MBBR工艺—移动床生物膜反应器
- pyqt5 显示更新进度条_python如何通过pyqt5实现进度条
- Spring Bean生命周期-prepareRefresh(二)
- Hessian——轻量级的二进制协议远程调用实现方案
- 尽量使用条件属性(Conditional Attribute)而不是#if/#endif预处理
- jave double相加结果误差+尾巴
- 关于驰骋工作流程引擎节点访问规则的变更发布
- 典型信息化案例点评(2)
- 济南大学计算机控制系统,杨波-济南大学人工智能研究院