地址:http://codeforces.com/contest/1291

  A题就不写解析了,就是给一个数,是不是本身满足这个条件或者删除某些数字来达到这个条件:奇数,各个位上的数字加起来是偶数。

  

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
char s[];
int main()
{
int t;
cin>>t;
while(t--)
{
int n ;
cin>>n;
cin>>s;
int len = strlen(s);
int ji=,ou=;
int sum = ,ok=;
int mid;
for(int i= ;i <len;i++)
{
int k = s[i]-'';
sum+=k;
if(sum%==&&k%!=)
{
mid=i;ok=;
}
}
if(!ok)
cout<<"-1"<<endl;
else
{
//cout<<":: ";
for(int i=;i<=mid;i++)
cout<<s[i];
cout<<endl;
}
}
}

  B题挺有意思:http://codeforces.com/contest/1291/problem/B

  题意:给出n个数字,满足以下任意一个条件即为锐化:单调递增/单调递减/先增后减(尖)。如果本身不符合,可以对任意一个数进行-1的操作任意次,前提是保证>=0。

  解析:由于我们可以对任意数字进行-1的操作任意次,所以我们可以把所给的数字进行更加直观化的变化:  比如  2   3   49   999  ----->>  0  1   2   3 。所以先记录单增结束的位置,这么判断呢,想象一下,从头往后放 0  1   2  3  2,如果出现了a[i]<i(比如i=4),说明什么?此时的i的前一位,a[i-1]=i-1,当前的a[i]<=i-1,那么它要么等于前一位,要么小于前一位,单增断掉了,所以就得到了单增结束的点。同理,记录从右往左的单增结束点,即正着看的单减的开始点(记得坐标转化为n-i-1)

     结束点一个为L,一个为R,如果L<R,肯定是实现不了锐化的。比如:  012323210,L=3,R=5,L<R,中间那个a[i]<i数字的存在是无论如何也锐化不了数组的。所以只要保证L>=R即可。根据我目前的发现,只要L==R,那么可以变成先增后减,而L>R对应的是单点递增或者单调递减,如有其他情况还请指正!

     

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int maxn = 3e5+;
typedef long long ll;
ll a[maxn];
int main()
{
int t;
cin>>t;
while(t--)
{
int n ;
cin>>n;
for(int i=;i<n;i++)
cin>>a[i];
int l=n,r=;
for(int i=;i<n;i++)
{
if(a[i]<i)
break;
l=i;
}
for(int i=n-;i>=;i--)
{
if(a[i]<(n-i-))
break;
r=i;
}
if(l>=r)
cout<<"Yes"<<endl;
else
cout<<"No"<<endl;
}
}

Codeforces Round #616 (Div. 2)的更多相关文章

  1. Codeforces Round #616 (Div. 2) B. Array Sharpening

    t题目链接:http://codeforces.com/contest/1291/problem/B 思路: 用极端的情况去考虑问题,会变得很简单. 无论是单调递增,单调递减,或者中间高两边低的情况都 ...

  2. Codeforces Round #616 (Div. 2) C. Mind Control

    题目链接:http://codeforces.com/contest/1291/problem/C 思路: 我们可以很容易想到,只有前m-1个人才能影响m的选择的大小,后面的人无法影响. 如果所有人都 ...

  3. Codeforces Round #616 (Div. 2) D

    莫队的模板 struct node{ int l,r,id; }q[maxn]; int cmp(node a,node b) { ) ? a.r < b.r : a.r > b.r); ...

  4. Codeforces Round #616 (Div. 2) 题解

    A. Even But Not Even 题意: 定义一个数所有位置的和为偶数它本身不为偶数的数为ebne,现在给你一个数字字符串,你可以删除任意位置上的数字使其变为ebne输出任意改变后的结果,如果 ...

  5. Codeforces Round #366 (Div. 2) ABC

    Codeforces Round #366 (Div. 2) A I hate that I love that I hate it水题 #I hate that I love that I hate ...

  6. Codeforces Round #354 (Div. 2) ABCD

    Codeforces Round #354 (Div. 2) Problems     # Name     A Nicholas and Permutation standard input/out ...

  7. Codeforces Round #368 (Div. 2)

    直达–>Codeforces Round #368 (Div. 2) A Brain’s Photos 给你一个NxM的矩阵,一个字母代表一种颜色,如果有”C”,”M”,”Y”三种中任意一种就输 ...

  8. cf之路,1,Codeforces Round #345 (Div. 2)

     cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅.....   ...

  9. Codeforces Round #279 (Div. 2) ABCDE

    Codeforces Round #279 (Div. 2) 做得我都变绿了! Problems     # Name     A Team Olympiad standard input/outpu ...

随机推荐

  1. linux动态库(.so)和静态库(.a)的区别

    静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库.编译之后程序文件大,但加载快,隔离性也好. 动态库在程序编译时并不会被连接到目标代码中,而是在程序运行时才被载入,因此在程序运行时 ...

  2. scrcpy投屏android手机到电脑

    在mac os下 投票iPhone投屏是最简单不过了,只需要用Quicktime player就可以. 但是在mac下咱投屏android的手机呢,就需要用到scrcpy了. 1.打开终端,输入命令: ...

  3. mui搜索框在ios平台上点击多次才弹出键盘的解决方法

    今天使用Hbuilder调试手机端时,发现搜索框在安卓系统下,点击一次就可以弹出键盘 但是在iso下非常的不规律,要点击多次 代码实现如下: <div class="mui-input ...

  4. [经验] Cocos Creator使用笔记 --- 调用不同脚本下的函数

    因为 JavaScript 不同于 Java, 想要调用不同文件的函数的话不能直接 ClassName object = new ClassName(); object.function(param) ...

  5. 「NOIP2016」天天爱跑步

    传送门 Luogu 解题思路 树上差分+桶计数. 我们发现在一条路径上的点 \(i\) ,它可以观测到玩家的条件是: \(i \in (u \to LCA),dep_u=w_i+dep_i\) \(i ...

  6. 「CF161B」Discounts

    传送门 Luogu 解题思路 贪心地想一想,我们肯定要让凳子去给价格越高的商品打半价,那么我们就先按照价格排序,但是要优先把凳子排在前面. 然后我们发现一条凳子肯定只能给价格小于等于它本身的物品打半价 ...

  7. body滚动时左侧菜单固定

    var top = $(".nav-frame").offset().top $(document).scroll(function(){ if($(this).scrollTop ...

  8. jumpserver手动配置文档

    1.环境  centos7.6   硬盘 200G  cpu  8核心  内存 32G (本地测试的时候,有报错,原因为虚拟机配置不够,此时为在pve虚拟化上面做的linux系统) 2.https:/ ...

  9. 【Unity】鼠标划定范围然后截图~

    有时候要重复用某一个场景的某一个角度,都过去好几步了结果总不能再把已经打乱的场景物体再移动回去吧.so~智慧的我完成了伟大的偷懒.截图保存,什么时候要看,直接上图片以假乱真棒棒哒~ 当然这个功能还能用 ...

  10. POJ 3273:Monthly Expense 二分好题啊啊啊啊啊啊

    Monthly Expense Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 19207   Accepted: 7630 ...