打得最烂一场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. LINQ&EF in 用算的写法 like

  2. 11g init DB software and database

    oadmin->administrator2.169set ORACLE_HOME=C:\app\oracle\product\11.2.0\dbhome_1set ORACLE_SID=csm ...

  3. javaweb作業中的幾個要點

    1.DDoS攻击原理DDoS是指分布式拒绝服务(Distributed Denial of Service):试图通过恶意请求使系统或者网络超载进而无法继续提供服务.对于一个网站来说,这意味着,该网站 ...

  4. UITableView的子控件高度不确定处理

    比如,tableView的tableFootView的控件数量是根据网络请求的数据而定的.那么tableView并不能准确的设置其contentSize.处理方法: 在tableFootView的类中 ...

  5. HDU/5499/模拟

    题目链接 模拟题,直接看代码. £:分数的计算方法,要用double; #include <set> #include <map> #include <cmath> ...

  6. ueditor 文本编辑器

    百度编辑器       压缩包在文件里 百度UEditor编辑器使用教程与使用方法 发布时间:2014-08-23 14:23:34.0 作者:青岛做网站 我们在做网站的时候,网站后台系统一般都会用到 ...

  7. 关于glibc中的res_init()函数

    /* * Set up default settings.  If the configuration file exist, the values * there will have precede ...

  8. 为Android增加硬件抽象层(HAL)模块访问Linux内核驱动程序

    在Android硬件抽象层(HAL)概要介绍和学习计划一文中,我们简要介绍了在Android系统为为硬件编写驱动程序的方法.简单来说,硬件驱动程序一方面分布在Linux内核中,另一方面分布在用户空间的 ...

  9. 初识Selenium(一)

    Selenium入门相关PPT参考网址:http://wenku.baidu.com/view/d1e7d90390c69ec3d5bb7565.html?from=search 内容引用网址:htt ...

  10. hdu 2647 Reward(拓扑排序,反着来)

    Reward Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Submis ...