http://acm.zju.edu.cn/onlinejudge/showContestProblems.do?contestId=392

E:Sequence in the Pocket

思路:从后往前判断在不在应该在的位置,如果不在则需要放到最前面,通过cnt控制当前的数 比较 排好序的数组的数。

code:

#include<bits/stdc++.h>
using namespace std;
#define LL long long
#define INF 2000000000
#define eps 1e-8
#define pi 3.141592653589793
int a[],b[];
int main()
{
int t;scanf("%d",&t);
while(t--) {
int n ,cnt = ;scanf("%d",&n);
for(int i = ; i < n; i++) {
scanf("%d",&a[i]);
b[i] = a[i];
}
sort(b,b+n);
for(int i = n-1; i >= ; i--) {
if(a[i] != b[i+cnt]) cnt++;
}
printf("%d\n",cnt);
}
}

F:Abbreviation

思路:无

code:

#include<bits/stdc++.h>
using namespace std;
#define LL long long
#define INF 2000000000
int main(){
LL n;cin>>n;
while(n--){
string s,ans="";
cin>>s;
for(int i = ; i < s.size() ; i++){
if(i == ){
ans += s[i];
}else{
if(s[i] != 'a' && s[i] != 'e' && s[i] != 'o'&& s[i] != 'i'&& s[i] != 'y'&& s[i] != 'u'){
ans += s[i];
}
}
}
cout<<ans<<endl;
}
return ;
}
/*
5
subconscious
oipotato
word
symbol
apple
*/

G:Lucky 7 in the Pocket

思路:

记当前这个数为n,则(n/7+(n%7==0)?0:1)*7 ,则表示大于等于这个数切能被7整除的数。

再判断一下是不是4的倍数就行了,如果是则答案是(n/7+(n%7==0)?1:2)*7

#include<bits/stdc++.h>
using namespace std;
#define LL long long
#define INF 2000000000
int main(){
LL n;cin>>n;
while(n--){
LL m;cin>>m;
LL k = m/ + (m%==?:);
cout<<(((k*7LL)%)==?((k+1LL)*7LL):(k*7LL))<<endl;
}
return ;
}
/*
7
1235
20
28
*/

H:Singing Everywhere

思路:各种判断

情况分为2种

1、如果有1 3 2 3 1这种,考虑删除两个峰值之间的这个2

2、考虑删除峰值

反正对答案影响肯定是-0,-1,-2。三种情况,大力推就行

code:

#include<bits/stdc++.h>
using namespace std;
#define LL long long
#define INF 2000000000
#define eps 1e-8
#define pi 3.141592653589793
int a[];
int cnt[];
int main()
{
int t;
scanf("%d",&t);
while(t--){
int n;
memset(cnt,,sizeof(cnt));
scanf("%d",&n);
for(int i = ; i < n ; i++){
scanf("%d",&a[i]);
}
if(n == ||n == ){
puts("");
} // n==1 or n==2 不用做操作的
else{
int sum = ,f = ,f1 = ;
if(a[] < a[]) cnt[]++;
if(a[n-] < a[n-]) cnt[n-]++;
//考虑到可能可以删除 1 or n-1
for(int i = ; i < n- ; i++){
if(a[i]>a[i-] && a[i]>a[i+]){
sum++;
if((a[i-] < a[i+] && (i+==n ||a[i+] <= a[i+]) )|| a[i-]==a[i+] ){
f1 = ;
}//删除峰值
cnt[i-]++;
cnt[i+]++;
}
}
//cnt增加峰值旁边的两个数,考虑情况1
for(int i = ; i < n- ; i++){
if(cnt[i] == ){
if(a[i-] == a[i+]){
f = max(f,);
}
else if(a[i-] < a[i+]){
f = max(f,);
}
else if(a[i-] > a[i+]){
if((i-==) || a[i-]>=a[i-]){
f = max(f,);
}
}
}
}
if(f){
printf("%d\n",sum-f);continue;
}
printf("%d\n",sum-f1);
}
}
}
/*
5
6
1 1 4 5 1 4
6
1 1 4 7 5 5
6
1 1 4 7 5 4
7
3 1 5 4 5 1 7
7
1 2 3 4 5 1 7 2
2
1 2
7
1 3 3 3 3 3 1
*/

I:Fibonacci in the Pocket

思路:

斐波那契数列 写一下前几项就知道是 奇奇偶 奇奇偶 奇奇偶 奇奇偶....

循环节是3。

另外一个性质是,一个数%3,等于这个数各个位数的和%3

既然是求和

考虑起点和终点吧,起点为a 终点为b,利用性质可以很方便算出a%3 和 b%3的值

那么就知道了,起点位于循环节的第几个,终点位于循环节的第几个。

分类讨论一下就知道和是奇数还是偶数。

#include<bits/stdc++.h>
using namespace std;
#define LL long long
#define INF 2000000000
#define eps 1e-8
#define pi 3.141592653589793
int main()
{
int t;
scanf("%d",&t);
while(t--){
string a,b;
cin>>a>>b;
int s1 = ,s2 = ;
for(int i = ; i < a.size() ; i ++){
s1+=(a[i]-'');s1%=;
}
for(int i = ; i < b.size() ; i ++){
s2+=(b[i]-'');s2%=;
}
if((s1+s2)%== || s1== && s2== || s1==&&s2==){
puts("");
}//都位于循环节末尾或者起点在0 终点在2 或者起点在1终点在0
else{
puts("");
}
}
}
/*
6
1 2
1 3
1 4
1 5
123456 12345678987654321
123 20190427201904272019042720190427
*/

The 16th Zhejiang Provincial Collegiate Programming Contest Sponsored(E F G H I)的更多相关文章

  1. The 16th Zhejiang Provincial Collegiate Programming Contest Sponsored E.Sequence in the Pocket(思维题)

    传送门 题意: 给出一个序列,你可以将任意一个数移到最前面: 求最少需要移动多少次,可以是此序列变成非递减序列: 思路: 定义 (ai,aj) 为逆序对 ( i < j , ai > aj ...

  2. The 16th Zhejiang Provincial Collegiate Programming Contest Sponsored by TuSimple (Mirror)

    B题 思路 因为 \[ x=\sum\limits_{k=1}^{n}ka_k\\ y=\sum\limits_{k=1}^{n}ka_{k}^{2} \] 我们设交换前和交换后的这两个等式的值设为\ ...

  3. The 15th Zhejiang Provincial Collegiate Programming Contest Sponsored by TuSimple - L Doki Doki Literature Club

    Doki Doki Literature Club Time Limit: 1 Second      Memory Limit: 65536 KB Doki Doki Literature Club ...

  4. 2018浙江省赛(ACM) The 15th Zhejiang Provincial Collegiate Programming Contest Sponsored by TuSimple

    我是铁牌选手 这次比赛非常得爆炸,可以说体验极差,是这辈子自己最脑残的事情之一. 天时,地利,人和一样没有,而且自己早早地就想好了甩锅的套路. 按理说不开K就不会这么惨了啊,而且自己也是毒,不知道段错 ...

  5. The 16th Zhejiang provincial collegiate programming contest

    今天我挺有状态的,看过的题基本都给了正解(可能是昨晚cf div3打得跟屎一样,人品守恒,不好意思发题解了),自己也给队伍签了很多水题(不敢让队友写,怕出锅). 最后6题滚了,有点可惜.还差B和K没做 ...

  6. The 14th Zhejiang Provincial Collegiate Programming Contest Sponsored by TuSimple - F 贪心+二分

    Heap Partition Time Limit: 2 Seconds      Memory Limit: 65536 KB      Special Judge A sequence S = { ...

  7. The 14th Zhejiang Provincial Collegiate Programming Contest Sponsored by TuSimple - C 暴力 STL

    What Kind of Friends Are You? Time Limit: 1 Second      Memory Limit: 65536 KB Japari Park is a larg ...

  8. The 15th Zhejiang Provincial Collegiate Programming Contest Sponsored by TuSimple - M Lucky 7

    Lucky 7 Time Limit: 1 Second      Memory Limit: 65536 KB BaoBao has just found a positive integer se ...

  9. The 15th Zhejiang Provincial Collegiate Programming Contest Sponsored by TuSimple - J CONTINUE...?

    CONTINUE...? Time Limit: 1 Second      Memory Limit: 65536 KB      Special Judge DreamGrid has  clas ...

随机推荐

  1. Linux通配符和关机命令

      通配符 | # 管道符,或者(正则) > # 输出重定向 >> # 输出追加重定向 < # 输入重定向 << # 追加输入重定向 ~ # 当前用户家目录 `` ...

  2. 知识点:Mysql 索引原理完全手册(2)

    知识点:Mysql 索引原理完全手册(1) 知识点:Mysql 索引原理完全手册(2) 知识点:Mysql 索引优化实战(3) 知识点:Mysql 数据库索引优化实战(4) 八. 联合索引与覆盖索引 ...

  3. SQL对于 小数处理的小结

    DECLARE @digital INT --截断小数位 ,,)),@digital) AS 截断小数位 --上抛小数位 ,,)),@digital) AS 上抛小数位 SELECT CEILING ...

  4. Winform 实现跨线程以及Timer

    https://docs.microsoft.com/en-us/dotnet/api/system.diagnostics.process.exited?redirectedfrom=MSDN&am ...

  5. SurfaceView绘图时刷新问题,尝试各种办法无法解决,请教高手

    /** * */ 源码:http://pan.baidu.com/s/1i3FtdZZ 画图时最左面,第一帧总是出现一个黑条,其它的帧没有问题package com.macrosoft.testewa ...

  6. SpringBoot aop 注解 数据权限校验

    注解类: @Retention(RetentionPolicy.RUNTIME) public @interface DataAuthValid { //位置 public int index() d ...

  7. 接口测试 - ti

    脚本 主程序 #!/bin/bash . /etc/ti/ti.conf . /etc/ti/ti.fun #-basic.json | curl -H "Content-Type:appl ...

  8. S表示1,L表示2,计算由S和L组成的序列之和为N的组合

    def func(n): def calc_str(s): s = s.strip() if s is not None else "" s = s.upper() result ...

  9. 图片转化成base64编码

    var img = "imgurl";//imgurl 就是你的图片路径 function getBase64Image(img) { var canvas = document. ...

  10. Https的前世今生

    1.年前会议 马上要过年了,公司业务上的需求也少了很多,这不,王小二他们召开了一场技术会议,盘点年前能干点啥. 只见C哥写了一份清单,其中一项是全站升级https. C哥说:https是一种趋势,但目 ...