打得最烂一场Codeforces,多次都错题,无限WA。。。

A题:

题意:给定n个橘子的大小,大小超过b的丢掉,不足d的补充进来,同时超过d的部分去掉,问要去掉几次

分析:直接模拟即可

 #include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <vector>
#include <algorithm>
#include <set>
#include <map>
#include <bitset>
#include <cmath>
#include <queue>
#include <stack>
using namespace std;
const int maxn=;
int a[maxn];
int n,b,d;
int main()
{
while(cin>>n>>b>>d)
{
for(int i=;i<n;i++)
scanf("%d",&a[i]);
vector<int> que;
for(int i=;i<n;i++)
{
if(a[i]<=b)
que.push_back(a[i]);
}
queue<int> q;
while(!q.empty())
q.pop();
int cnt=;
for(int i=;i<que.size();i++)
{
int t=que[i];
q.push(t);
}
while(!q.empty())
{
int h=q.front();
q.pop();
while(h<=d)
{
if(q.empty()) break;
int f=q.front();
q.pop();
h+=f;
if(h>d)
{
cnt++;
break;
}
}
}
cout<<cnt<<endl;
}
return ;
}

B题:

题意:给定n个点的坐标,同时给定一个点的坐标,求这个点到达其中n-1个点的最短路径

分析:因为必将到达a[n-1]或者a[0],所以我们先将n个点的坐标进行排序,然后比较覆盖a[n-1]和a[0]的所有情况下的最小值,注意n=1的时候结果为0

 #include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <vector>
#include <algorithm>
#include <set>
#include <map>
#include <bitset>
#include <cmath>
#include <queue>
#include <stack>
using namespace std;
const int maxn=;
int a[maxn];
int n,d;
int main()
{
while(cin>>n>>d)
{
for(int i=;i<n;i++)
scanf("%d",&a[i]);
if(n==){
cout<<""<<endl;
continue;
}
sort(a,a+n);
int h=<<;
int cnt=<<;
if(d<=a[])
{
cout<<abs(a[n-]-d)<<endl;
continue;
}else if(a[n-]<=d)
{
cout<<abs(a[]-d)<<endl;
continue;
}
if(d>=a[]&&d<=a[])
{
h=abs(a[n-]-d);
}
if(d<=a[n-]&&d>=a[n-])
{
h=min(h,abs(a[]-d));
}
cnt=min(cnt,*(abs(a[]-d))+abs(a[n-]-d));
cnt=min(cnt,*(abs(a[n-]-d))+abs(a[]-d));
cnt=min(cnt,*(abs(a[n-]-d))+abs(a[]-d));
cnt=min(cnt,*(abs(a[]-d))+abs(a[n-]-d));
cout<<min(h,cnt)<<endl;
}
return ;
}

C题:

题意:给定一个字符串,然后对于其中的一个子串进行如下变化,每个字母变成它的前一个字母,a变成z,求变化以后字典序最小

分析:开始不理解字典序,后来知道就是让排在前面的数尽量小。这样就可以贪心,对于排在尽量靠前不含有a的子串进行变化,若全是a,则将最后一个a变成z即可。

 #include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <vector>
#include <algorithm>
#include <set>
#include <map>
#include <bitset>
#include <cmath>
#include <queue>
#include <stack>
using namespace std;
string s;
int main()
{
while(cin>>s)
{
int n=s.length();
int flag=;
for(int i=;i<n;i++)
{
if(s[i]!='a')
{
flag=;
s[i]=s[i]-;
}else if(s[i]=='a'&&flag)
{
break;
}
}
if(flag)
{
for(int i=;i<n;i++)
printf("%c",s[i]);
}else{
for(int i=;i<n-;i++)
printf("%c",s[i]);
printf("z");
}
printf("\n");
}
return ;
}

Codeforces AIM Tech Round3的更多相关文章

  1. Codeforces AIM Tech Round (Div. 2)

    这是我第一次完整地参加codeforces的比赛! 成绩 news standings中第50. 我觉这个成绩不太好.我前半小时就过了前三题,但后面的两题不难,却乱搞了1.5h都没有什么结果,然后在等 ...

  2. 【Codeforces AIM Tech Round 4 (Div. 2) C】

    ·将排序限制于子序列中,又可以说明什么呢? C. Sorting by Subsequences ·英文题,述大意:       输入一个长度为n的无重复元素的序列{a1,a2……an}(1<= ...

  3. codeforces AIM Tech Round 4 div 2

    A:开个桶统计一下,但是不要忘记k和0比较大小 #include<bits/stdc++.h> using namespace std; ]; ]; int main() { int k; ...

  4. Codeforces Aim Tech Round4 (Div2) D

    题目链接: 题意: 给你一个严格升序的单链表,但是是用数组来存放的.对于每一个位置来说,你可以知道这个位置的值和下一个的位置.你每一个可以询问一个位置,机器会告诉你这个位置的值,和下一个位置的指针.要 ...

  5. Codeforces AIM Tech Round 5 (rated, Div. 1 + Div. 2)

    A. Find Square time limit per test: 1 second memory limit per test: 256 megabytes input: standard in ...

  6. AIM Tech Round 5 1028cf(A-E)

    AIM Tech Round 5 (codeforces上题目编号是1028)(A-E) ---完全被这次比赛打击,自己真的很渣--- 战况 依旧3题选手 被构造题坑得好惨 稍稍涨了rating,希望 ...

  7. codeforce AIM tech Round 4 div 2 B rectangles

    2017-08-25 15:32:14 writer:pprp 题目: B. Rectangles time limit per test 1 second memory limit per test ...

  8. AIM Tech Round 3 (Div. 2) (B C D E) (codeforces 709B 709C 709D 709E)

    rating又掉下去了.好不容易蓝了.... A..没读懂题,wa了好几次,明天问队友补上... B. Checkpoints 题意:一条直线上n个点x1,x2...xn,现在在位置a,求要经过任意n ...

  9. AIM Tech Round (Div. 2) D. Array GCD dp

    D. Array GCD 题目连接: http://codeforces.com/contest/624/problem/D Description You are given array ai of ...

随机推荐

  1. anyremote源码分析

    XTest   鼠标移动事件. XTestFakeMotionEvent 关于XTest的编程. http://lilydjwg.is-programmer.com/2011/9/21/using-x ...

  2. wl18xx编译的时候出现WARNING: "simple_open" WARNING: "wl12xx_get_platform_data"

     ................................................................................................... ...

  3. 点击按钮颜色变深.通过ColorFilter ColorMatrix

    private ImageButton imgeBtn; // 颜色矩阵 public final float[] BT_SELECTED = new float[] { 1, 0, 0, 0, -5 ...

  4. ListView控件的Insert、Edit和Delete功能第三部分(自我总结)

    1.刚开始在第一部分显示数据的时候出现如下错误: 修改: @Page 中的EnableEventValidation="false" 2.点击各个按钮没有反应. 修改:为page_ ...

  5. 【转】RestQL:现代化的 API 开发方式

    原文:http://tech.meituan.com/koa-restql.html RestQL:现代化的 API 开发方式 李鑫 ·2016-08-12 11:26 koa-restql 已经在  ...

  6. opencv-----基本数据类型

    OpenCV提供了多种基本数据类型.可以在"…/OpenCV/cxcore/include"目录下的cxtypes.h文件中查看其详细定义. CvPoint是一个包含integer ...

  7. thrift概述

    Apache Thrift 是FaceBook实现的一种跨平台的远程服务调用(RPC)的框架.它采用接口描述语言(IDL)定义并创建服务,传输数据采用二进制格式,相对于XML和Json等常用数据传输方 ...

  8. 用PHP与XML进行网站编程

    一.小序 HTML简单易学又通用,一般的PHP程序就是嵌入在HTML语言之中实现的.但是随着WEB越来越广泛的应用,HTML的弱点也越来越明显了.XML的出现,弥补了这些不足,它提供了一个能够处理互联 ...

  9. 深入Java单例模式

    在GoF的23种设计模式中,单例模式是比较简单的一种.然而,有时候越是简单的东西越容易出现问题.下面就单例设计模式详细的探讨一下.  所谓单例模式,简单来说,就是在整个应用中保证只有一个类的实例存在. ...

  10. POJ 2773 Happy 2006(欧几里德算法)

    题意:给出一个数m,让我们找到第k个与m互质的数. 方法:这题有两种方法,一种是欧拉函数+容斥原理,但代码量较大,另一种办法是欧几里德算法,比较容易理解,但是效率很低. 我这里使用欧几里德算法,欧几里 ...