Codeforces_845
A.排序,比较中间两个大小。
#include<bits/stdc++.h>
using namespace std; int n,a[]; int main()
{
ios::sync_with_stdio();
cin >> n;
for(int i = ;i <= *n;i++) cin >> a[i];
sort(a+,a++n*);
reverse(a+,a++n*);
if(a[n] > a[n+]) cout << "YES" << endl;
else cout << "NO" << endl;
return ;
}
B.优先改变价值大的位置。
#include<bits/stdc++.h>
using namespace std; int n,sub[],add[];
string s; int main()
{
ios::sync_with_stdio();
cin >> s;
int sum1 = ,sum2 = ;
for(int i = ;i < ;i++)
{
sum1 += s[i]-'';
sub[i] = s[i]-'';
add[i] = ''-s[i];
}
for(int i = ;i < ;i++)
{
sum2 += s[i]-'';
sub[i] = s[i]-'';
add[i] = ''-s[i];
}
if(sum1 > sum2)
{
int t = sum1-sum2;
int a[];
for(int i = ;i < ;i++) a[i] = sub[i];
for(int i = ;i < ;i++) a[i] = add[i];
sort(a,a+);
reverse(a,a+);
for(int i = ;i < ;i++)
{
t -= a[i];
if(t <= )
{
cout << i+ << endl;
return ;
}
}
}
else if(sum2 > sum1)
{
int t = sum2-sum1;
int a[];
for(int i = ;i < ;i++) a[i] = add[i];
for(int i = ;i < ;i++) a[i] = sub[i];
sort(a,a+);
reverse(a,a+);
for(int i = ;i < ;i++)
{
t -= a[i];
if(t <= )
{
cout << i+ << endl;
return ;
}
}
}
else cout << << endl;
return ;
}
C.按l排序,优先队列模拟,处理出最小需要的TV数量。
#include<bits/stdc++.h>
using namespace std; int n;
struct xx
{
int l,r;
friend bool operator<(xx a,xx b)
{
return a.l < b.l;
}
}a[]; int main()
{
ios::sync_with_stdio();
cin >> n;
for(int i = ;i <= n;i++) cin >> a[i].l >> a[i].r;
sort(a+,a++n);
int ans = ;
priority_queue< int,vector<int>,greater<int> > q;
for(int i = ;i <= n;i++)
{
if(q.empty() || a[i].l <= q.top())
{
ans++;
q.push(a[i].r);
}
else
{
q.pop();
q.push(a[i].r);
}
}
if(ans > ) cout << "NO" << endl;
else cout << "YES" << endl;
return ;
}
D.栈模拟。
#include<bits/stdc++.h>
using namespace std; int n; int main()
{
ios::sync_with_stdio();
cin >> n;
stack<int> s;
int ans = ,now,cntover = ;
while(n--)
{
int x,y;
cin >> x;
if(x == ) cin >> now;
else if(x == )
{
ans += cntover;
cntover = ;
}
else if(x == )
{
cin >> y;
s.push(y);
}
else if(x == ) cntover = ;
else if(x == )
{
while(!s.empty()) s.pop();
}
else cntover++;
while(!s.empty() && now > s.top())
{
ans++;
s.pop();
}
}
cout << ans << endl;
return ;
}
G.dfs,每遇到环可以存起来,最后更新答案。
#include<bits/stdc++.h>
using namespace std; int n,m,a[],vis[] = {};
struct xx
{
int to,w;
xx(int a,int b):to(a),w(b){};
};
vector<xx> v[];
vector<int> vv; void add(int x)
{
for(int i = ;i < vv.size();i++) x = min(x,x^vv[i]);
if(x) vv.push_back(x);
} void dfs(int now,int val)
{
vis[now] = ;
a[now] = val;
for(int i = ;i < v[now].size();i++)
{
int t = v[now][i].to,w = v[now][i].w;
if(vis[t]) add(val^w^a[t]);
else dfs(t,w^val);
}
}
int main()
{
ios::sync_with_stdio();
cin >> n >> m;
while(m--)
{
int x,y,z;
cin >> x >> y >> z;
v[x].push_back(xx(y,z));
v[y].push_back(xx(x,z));
}
dfs(,);
for(int i = ;i < vv.size();i++) a[n] = min(a[n],a[n]^vv[i]);
cout << a[n] << endl;
return ;
}
Codeforces_845的更多相关文章
随机推荐
- 删除资源管理器中,设备和驱动器与左侧边栏中存在的WPS网盘等图标
存在的问题:资源管理器中,设备和驱动器与左侧边栏中存在的百度网盘和WPS网盘等图标,看着比较碍眼,所以想设置为不显示,可是软件本身不提供右键不显示或删除的功能 解决方案: 删除设备和驱动器中不想要的图 ...
- 交换机广播风暴,STP生成树协议,端口聚合
交换机(工作在数据链路层)具有学习功能: 一台刚重启的交换机上的mac地址表为空,根据数据包的来源,目的地来学习MAC地址与端口的映射关系映射关系,对于MAC地址表之中已有的就不管了,对未知端 ...
- PHP计算每月几周,每周的开始结束日期
PHP计算每月几周,每周的开始结束日期 因为项目中需要一个每周工作计算的功能,具体日期的算法是,把每月拆分成几个周,最后一个星期这个月份的天数不够就补上下个月的. 列如今天8月27星期一,这个月有31 ...
- 2018 东北地区大学生程序设计竞赛(ABEHIK)
HDU6500:Problem A. Game with string 题意: 给你一个字符串s以及它的m个子串的首尾位置,现在Alice和 Bob两个人轮流在任一子串的前面或者后面加1个字符,要求加 ...
- 悄摸直播(一)—— 推流器的实现(获取笔记本摄像头画面,转流推流到rtmp服务器)
悄摸直播 -- JavaCV实现本机摄像头画面远程直播 推流器 一.功能说明 获取pc端的摄像头流数据 + 展示直播效果 + 推流到rtmp服务器 二.代码实现 /** * 推流器 * @param ...
- python暴力破解压缩包密码
啥也不说,直接上代码 #-*-coding:utf-8-*- import zipfile #生成1-999999的数字密码表, 要是有别的密码类型,对密码表改造一下就可以了,也可以上网下载某些类型的 ...
- dp-完全背包(题)
理解了这道题 , 我感觉对背包又有了一个更深的认识 …… HDU 2159 最近xhd正在玩一款叫做FATE的游戏,为了得到极品装备,xhd在不停的杀怪做任务.久而久之xhd开始对杀怪产生的厌恶感, ...
- Proxmox VE:自建虚拟化方案
Proxmox VE 简介 Proxmox Virtual Environment,或 Proxmox VE,是来自德国的开源虚拟化方案.软件和社区支持都是免费的,企业用户则可以通过订阅制获得付费商业 ...
- Mysql 8+ 版本完全踩坑记录
问题是这样 刚霍霍了一台腾讯云服务器需要安装mysql 然后就选择了8+这个版本. 安装步骤网上有的是. 我只写最主要的部分 绝对不出错 外网可访问 .net java都可以调用 其实不指望有人看 就 ...
- [洛谷P4097] [HEOI2013] Segment
Description 要求在平面直角坐标系下维护两个操作: 1.在平面上加入一条线段.记第 \(i\) 条被插入的线段的标号为 \(i\) 2.给定一个数 \(k\) ,询问与直线 \(x = k\ ...