题目链接:http://codeforces.com/contest/845

A. Chess Tourney

水题,排序之后判断第n个元素和n+1个元素是不是想等就可以了。

#include <bits/stdc++.h>
using namespace std;
int a[210];
int n;
int main()
{
scanf("%d", &n);
for(int i=1; i<=2*n; i++) scanf("%d", &a[i]);
sort(a+1,a+2*n+1,greater<int>());
if(a[n]!=a[n+1])
puts("YES");
else puts("NO");
return 0;
}

B. Luba And The Ticket

题意:给了一个只有6个字母的字符串,然后问最少改变几个数字,使得前3个数字的和等于后3个数字的和。

解法:直接暴力枚举这6位数字会变成什么,在满足条件下维护最小值。

#include <bits/stdc++.h>
using namespace std;
int a[10];
char s[10]; int main()
{
scanf("%s", s+1);
for(int i=1; i<=6; i++){
a[i] = s[i]-'0';
}
int ans = 100;
for(int i=0; i<10; i++){
for(int j=0; j<10; j++){
for(int k=0; k<10; k++){
for(int x=0; x<10; x++){
for(int y=0; y<10; y++){
for(int z=0; z<10; z++){
if(i+j+k==x+y+z){
int cnt = 0;
if(i!=a[1]) cnt++;
if(j!=a[2]) cnt++;
if(k!=a[3]) cnt++;
if(x!=a[4]) cnt++;
if(y!=a[5]) cnt++;
if(z!=a[6]) cnt++;
ans = min(ans, cnt);
}
}
}
}
}
}
}
printf("%d\n", ans);
}

C. Two TVs

题意:有n个电视节目,每个节目有一个开始的播放时间和结束的播放时间,现在有2台电视可以同时播放节目,但是有重合时间点的节目不能在同一台电视播放,问是否可以通过安排播放顺序让所有的节目都被播放完。

解法:一个显然的贪心,按l,r从小到大排序之后,分别往第一个和第二个电视结束时间最早的那个放就OK了。

#include <bits/stdc++.h>
using namespace std;
const int maxn = 2e5+5;
struct node{
int l,r;
node(){}
bool operator<(const node &rhs) const{
if(l == rhs.l) return r<rhs.r;
return l<rhs.l;
}
}a[maxn];
int en1, en2; int main()
{
int n;
scanf("%d", &n);
for(int i=1; i<=n; i++){
scanf("%d %d", &a[i].l,&a[i].r);
}
sort(a+1,a+n+1);
en1 = -1, en2 = -1;
for(int i=1; i<=n; i++){
if(a[i].l > en1 && a[i].l > en2){
if(en1 > en2){
en2 = a[i].r;
}
else{
en1 = a[i].r;
}
}
else if(a[i].l > en1){
en1 = a[i].r;
}
else if(a[i].l > en2){
en2 = a[i].r;
}
else{
puts("NO");
return 0;
}
}
puts("YES");
return 0;
}

D. Driving Test

题意:给出n次操作,你可以忽略 可以超车,不可以超车,速度最大限制以及无速度限制这些操作,问使得超车以及改变速度合法的前提下最少需要忽略多少次操作,每次超车可以覆盖前面所有的超车和不超车,速度最大限制和无速度限制一样。

解法:直接模拟即可。

#include <bits/stdc++.h>
using namespace std; int main()
{
int n,op,x,now=0,lim=0,cnt=0;
vector<int>v;
scanf("%d", &n);
for(int i=1; i<=n; i++){
scanf("%d", &op);
if(op == 1){
scanf("%d", &x);
now=x;
while(!v.empty() && now>v.back()){
v.pop_back();
cnt++;
}
}
if(op == 2){
cnt += lim;
lim = 0;
}
if(op == 3){
scanf("%d", &x);
v.push_back(x);
while(!v.empty() && now>v.back()){
v.pop_back();
cnt++;
}
}
if(op == 4){
lim = 0;
}
if(op == 5){
v.clear();
}
if(op == 6){
lim++;
}
}
printf("%d\n", cnt);
return 0;
}

E:

F:

G. Shortest Path Problem?

题意:这道题要求从1到n的最小xor和路径,存在重边,允许经过重复点、重复边。

解法:线形基,BZOJ原题,BZOJ 2115 不过那道题求的是最大值,这个题求的是最小值。

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
const int maxn = 100010;
const int maxm = 500010;
int n, m, edgecnt;
int head[maxn];
bool vis[maxn];
LL dx[maxn];
LL p[70];
LL circle[maxm], ans;
void init(){
memset(head, -1, sizeof(head));
edgecnt = 0;
}
struct edge{
int to,next;
LL w;
edge(){}
edge(int to, int next, LL w):to(to),next(next),w(w){}
}E[maxm];
int cnt = 0;
void add(int u, int v, LL w){
E[edgecnt].to = v, E[edgecnt].next = head[u], E[edgecnt].w = w, head[u] = edgecnt++;
}
void dfsloop(int x){
vis[x] = 1;
for(int i=head[x]; i+1; i=E[i].next){
int to = E[i].to;
if(!vis[to]) dx[to] = dx[x]^E[i].w, dfsloop(to);
else{
circle[++cnt] = dx[to]^dx[x]^E[i].w;
}
}
} int main()
{
int x,y;
LL z;
init();
scanf("%d %d", &n,&m);
for(int i=1; i<=m; i++){
scanf("%d %d %lld", &x,&y,&z);
add(x, y, z);
add(y, x, z);
}
dfsloop(1);
ans = dx[n];//任取一条从1到n的路径,并得到其xor和
for(int i=1; i<=cnt; i++){
for(int j=62; j>=0; j--){
if(!(circle[i]>>j)) continue;
if(!p[j]){
p[j] = circle[i];
break;
}
circle[i] ^= p[j];
}
}
//for(int i=62;i>=0;i--) if(!(ans>>i)) ans^=p[i];
//ans有初值,不能直接根据这一位是否为0来判断是否更大,max更为稳妥
for(int i=62; i>=0; i--){
if((ans^p[i])<ans){
ans = ans^p[i];
}
}
printf("%lld\n", ans);
return 0;
}

Educational Codeforces Round 27 补题的更多相关文章

  1. Educational Codeforces Round 23 补题小结

    昨晚听说有教做人场,去补了下玩. 大概我的水平能做个5/6的样子? (不会二进制Trie啊,我真菜) A. 傻逼题.大概可以看成向量加法,判断下就好了. #include<iostream> ...

  2. cordforce Educational Codeforces Round 47 补题笔记 <未完>

    题目链接 http://codeforces.com/contest/1009 A. Game Shopping 直接模拟即可,用了一个队列来存储账单 #include <iostream> ...

  3. Educational Codeforces Round 12补题 经典题 再次爆零

    发生了好多事情 再加上昨晚教育场的爆零 ..真的烦 题目链接 A题经典题 这个题我一开始推公式wa 其实一看到数据范围 就算遍历也OK 存在的问题进制错误 .. 思路不清晰 两个线段有交叉 并不是端点 ...

  4. Educational Codeforces Round 22 补题 CF 813 A-F

    A The Contest 直接粗暴贪心 略过 #include<bits/stdc++.h> using namespace std; int main() {//freopen(&qu ...

  5. Educational Codeforces Round 15 套题

    这套题最后一题不会,然后先放一下,最后一题应该是大数据结构题 A:求连续最长严格递增的的串,O(n)简单dp #include <cstdio> #include <cstdlib& ...

  6. Educational Codeforces Round 21 A-E题题解

    A题      ............太水就不说了,贴下代码 #include<string> #include<iostream> #include<cstring& ...

  7. Educational Codeforces Round 27 A B C

    A. Chess Tourney   Berland annual chess tournament is coming! Organizers have gathered 2·n chess pla ...

  8. Educational Codeforces Round 27

    期末后恢复性训练,结果完美爆炸... A,题意:2n个人,分成两队,要求无论怎么分配,第一队打赢第二队 #include<bits/stdc++.h> #define fi first # ...

  9. Educational Codeforces Round 27 F. Guards In The Storehouse

    F. Guards In The Storehouse time limit per test 1.5 seconds memory limit per test 512 megabytes inpu ...

随机推荐

  1. Excel导出百万级数据解决方案

    因项目业务,需要导出百万级数据到excel,在研究了各种方案后,最终确定了用POI的SXSSFWorkbook. SXSSFWorkbook是POI3.8以上新增的,excel2007后每个sheet ...

  2. zoj 3963 heap partion

    https://vjudge.net/problem/ZOJ-3963 题意: 给出一个数列,可以用这个数列构造一种二叉树,这个二叉树满足数的下标 i <= j,并且 si <= sj,s ...

  3. ASP.NET MVC Bundles 用法和说明(打包javascript和css)

    本文主要介绍了ASP.NET MVC中的新功能Bundles,利用Bundles可以将javascript和css文件打包压缩,并且可以区分调试和非调试,在调试时不进行压缩,以原始方式显示出来,以方便 ...

  4. 移动端和pc端事件绑定方式以及取消浏览器默认样式和取消冒泡

    ### 两种绑定方式 (DOM0)1.obj.onclick = fn; (DOM2)2. ie:obj.attachEvent(事件名称,事件函数); 1.没有捕获(非标准的ie 标准的ie底下有 ...

  5. [COGS 0011] 运输问题1

    11. 运输问题1 ★★☆   输入文件:maxflowa.in   输出文件:maxflowa.out   简单对比时间限制:1 s   内存限制:128 MB [问题描述]     一个工厂每天生 ...

  6. maven相关的学习资料

    1, maven的settings配置文件详解: http://blog.csdn.net/jinshuaiwang/article/details/23686099 2,maven原理---翡青的博 ...

  7. Web聊天应用中的表情插件

    聊天应用中的表情插件 用于即时聊天应用的图片表情插件,具有展示表情.插入表情和表情编解码的功能 项目地址 看代码 看demo 原理介绍 web端的即时聊天中看到的表情,其实就是一张张表情图片,通过im ...

  8. java NIO详解

    http://zalezone.cn/2014/09/17/NIO%E7%B2%BE%E7%B2%B9/ 1. 前言 我们在写java程序的时候,为了进行优化,把全部的精力用在了处理效率上,但是对IO ...

  9. 玛雅游戏[NOIP2011]

    题目描述 Mayan puzzle 是最近流行起来的一个游戏.游戏界面是一个7 行5 列的棋盘,上面堆放着一些方块,方块不能悬空堆放,即方块必须放在最下面一行,或者放在其他方块之上.游戏通关是指在规定 ...

  10. 游走[HNOI2013]

    [题目描述] 一个无向连通图,顶点从1编号到N,边从1编号到M. 小Z在该图上进行随机游走,初始时小Z在1号顶点,每一步小Z以相等的概率随机选 择当前顶点的某条边,沿着这条边走到下一个顶点,获得等于这 ...