题目链接:https://vjudge.net/contest/148901#overview

  A题,排序以后xjbg即可。

  B题,弄个数组记录当前列是不是删除以及当前行是不是已经大于下一行然后乱搞即可。

  C题,线段树写的比较无脑,但是可以直接搞,在遍历的时候记录最大的,然后继续找的时候更新答案即可。

  D题,题意是给出m个限制条件,每个限制条件表示[L,R]范围内&和为x。问是不是存在这样的数组。方法是线段树记录区间内&的和。然后m组每次更新[L,R]都使得|上x,因为要&为1,二进制下该位必须为1,而|上去能够使得这位结果必为1(很巧妙)。然后就可以做了。代码如下:

 #include <stdio.h>
#include <algorithm>
#include <string.h>
#include <map>
#include <vector>
#include <queue>
#include <set>
#include <iostream>
#define t_mid (l+r>>1)
#define ls (o<<1)
#define rs (o<<1|1)
#define lson ls,l,t_mid
#define rson rs,t_mid+1,r
using namespace std;
const int N = + ;
typedef long long ll;
typedef pair<int,int> pii; int c[N<<];
int lazy[N<<];
int n,m;
void up(int o) {c[o] = c[ls] & c[rs];}
void down(int o,int l,int r)
{
if(l == r) return ;
if(lazy[o])
{
c[ls] |= lazy[o];
c[rs] |= lazy[o];
lazy[ls] |= lazy[o];
lazy[rs] |= lazy[o];
lazy[o] = ;
}
}
void build(int o,int l,int r)
{
if(l == r)
{
c[o] = lazy[o] = ;
return ;
}
build(lson);
build(rson);
up(o);
}
void update(int o,int l,int r,int ql,int qr,int f)
{
if(l == ql && r == qr)
{
c[o] |= f;
lazy[o] |= f;
return ;
}
down(o,l,r);
if(qr <= t_mid) update(lson,ql,qr,f);
else if(ql > t_mid) update(rson,ql,qr,f);
else
{
update(lson,ql,t_mid,f);
update(rson,t_mid+,qr,f);
}
up(o);
}
int query(int o,int l,int r,int ql,int qr)
{
if(l == ql && r == qr) return c[o];
down(o,l,r);
if(qr <= t_mid) return query(lson,ql,qr);
else if(ql > t_mid) return query(rson,ql,qr);
else return query(lson,ql,t_mid) & query(rson,t_mid+,qr);
} int x[N],y[N],z[N];
bool can()
{
for(int i=;i<=m;i++)
{
if(query(,,n,x[i],y[i]) != z[i]) return false;
} puts("YES");
for(int i=;i<=n;i++) printf("%d%c",query(,,n,i,i), i==n?'\n':' ');
return true;
} int main()
{
cin >> n >> m;
for(int i=;i<=m;i++)
{
scanf("%d%d%d",x+i,y+i,z+i);
update(,,n,x[i],y[i],z[i]);
}
if(can() == false) puts("NO");
return ;
}

D

  E题,思路参见这个。我自己代码如下:

 #include <stdio.h>
#include <algorithm>
#include <string.h>
#include <map>
#include <vector>
#include <queue>
#include <set>
#include <iostream>
#define t_mid (l+r>>1)
#define ls (o<<1)
#define rs (o<<1|1)
#define lson ls,l,t_mid
#define rson rs,t_mid+1,r
using namespace std;
const int N = + ;
typedef long long ll;
typedef pair<int,int> pii; ll a[];
ll p,q;
int n; int main()
{
cin >> p >> q;
cin >> n;
for(int i=;i<=n;i++) cin >> a[i];
int i;
for(i=;i<=n;i++)
{
if(q == || (double)p/q < a[i]) break;
p -= a[i] * q;
swap(p, q);
}
if(i == n + && q == ) puts("YES");
else puts("NO");
return ;
}

E

2017 ZSTU寒假排位赛 #5的更多相关文章

  1. 2017 ZSTU寒假排位赛 #7

    题目链接:https://vjudge.net/contest/149498#overview. A题,水题,直接按照题意模拟一下即可. B题,我用的是线段树.大力用的差分标记(上次听zy说过,下次再 ...

  2. 2017 ZSTU寒假排位赛 #1

    题目链接:https://vjudge.net/contest/147102#overview. A题:给出一堆的点,要找出两条垂直的直线,一条与x轴呈45度.-->使得所有的点到任意一条直线的 ...

  3. 2017 ZSTU寒假排位赛 #2

    题目链接:https://vjudge.net/contest/147632#overview. A题,状态压缩一下然后暴力即可. B题,水题,略过. C题,有负数,前缀和不是单调的,因此不能用尺取法 ...

  4. 2017 ZSTU寒假排位赛 #8

    题目链接:https://vjudge.net/contest/149845#overview. A题,水题. B题,给出 p个 第一个人的区间 和 q个第二个人的区间,问[l,r]中有多少个整数满足 ...

  5. 2017 ZSTU寒假排位赛 #6

    题目链接:https://vjudge.net/contest/149212#overview. A题,水题,略过. B题,水题,读清题意即可. C题,数学题,如果把x表示成x=nb+m,则k=n/m ...

  6. 2017 ZSTU寒假排位赛 #4

    题目链接:https://vjudge.net/contest/148543#overview. A题:n个罪犯,每个人有一个犯罪值,现在要从里面选出连续的c个人,每个人的犯罪值都不能超过t,问选法的 ...

  7. 2017 ZSTU寒假排位赛 #3

    题目链接:https://vjudge.net/contest/147974#overview. A题,费用流,不会..跳过了. B题,给一个图,问至少添加几条边能成为强连通图.显然缩点,要使得成为一 ...

  8. Codeforces Round #341 (Div. 2)

    在家都变的懒惰了,好久没写题解了,补补CF 模拟 A - Wet Shark and Odd and Even #include <bits/stdc++.h> typedef long ...

  9. 2017杭电ACM集训队单人排位赛 - 6

    2017杭电ACM集训队单人排位赛 - 6 排名 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 59 1 X X 1 1 X X 0 1 ...

随机推荐

  1. php curl post请求

    /** * CreateBy Song * @param String $url url地址 * @param Array $post url参数 * @return Array */ functio ...

  2. C#picturebox控件图片以json格式上传java后台保存

    关于winform上传图片到Java后端,保存到数据库,有多种方法,本文主要介绍利用picturebox控件,点击按钮上传图片,将图片转化为base64格式,以json格式上传到Java后台,再从ja ...

  3. Introduction to Deep Learning Algorithms

    Introduction to Deep Learning Algorithms See the following article for a recent survey of deep learn ...

  4. SvcUtil.exe工具生成客户端代理类

    1.以管理员身份运行vs下命令工具: 2.运行代码示例:C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin>svcutil http: ...

  5. caffe训练时报错

    转自:https://www.cnblogs.com/haiyang21/p/7614669.html F0717 :: math_functions.cu:] Check failed: statu ...

  6. iot平台异构对接文档

    iot平台异构对接文档 准备工作 平台提供的XAgent开发指南.pdf demo程序xagent-ptp-demo 平台上添加产品得到产品id和key 部署时需要插件的基础程序<xlink-x ...

  7. 10.自定义EL函数和自定义标签

    需要在JSP页面中进行一些常见逻辑操作(如对字符串进行操作),首先考虑是否可以用到sun公司提供的EL函数库(fn.tld)和JSTL 核心标签库 如果sun公司的EL函数库没有或者无法满足,就需要自 ...

  8. 第四章、前端之BOM和DOM

    目录 第四章.前端之BOM和DOM 一.解释BOM和DOM 二.window对象 三.window子对象 四.弹出框 五.计时相关 六.HTML的DOM树 七.查找元素 八.节点操作 九.JS操作CS ...

  9. php的三个常用判断函数

    <?phperror_reporting(E_ERROR);$a;$b = false;$c = '';$d = 0;$e = null;$f = array(); echo 'empty', ...

  10. Centos7安装dig命令

    作者: jwj 时间: 2018-10-17 分类: 服务器 最近做一个项目,需要用到Gmail邮箱发送邮件,但发现发送不出去.排查问题时,需要用到dig命令,但使用时,却提醒我dig命令不存在~那就 ...