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. 使用摄像头或视频运行 ORB-SLAM2 SLAM14讲 第一次课后作业

    参考:视觉SLAM十四讲(第一章作业) 深蓝上高博的第一讲课后题: 题目:6 * 使用摄像头或视频运行 ORB-SLAM2(3 分,约 1 小时)请注意本题为附加题.了解⼀样东西最快的⽅式是⾃⼰上⼿使 ...

  2. HTML如何实现斜体字

    HTML实现斜体字的标签为<i>标签,用来实现字体倾斜,写法如下: 字体斜体:<i>内容</i> 案例:正常  斜体 当文字加入i标签以后字体就会成为斜体

  3. vs2017使用问题

    最近安装了新版本的Visual studio  2017,但是在使用的过程中遇到了这样一个问题.刚启动电脑后,打开vs2017是可以打开的,但是当关掉之后再打开就打不开了,但是任务管理器看可以看到有一 ...

  4. git学习手记(也许仅对本人有用)

    首先明白git的三种状态 commited已提交 =====>git仓库(存着各种版本)modified已修改(此时就是我们的编辑器中的未保存状态)====>工作目录staged暂存状态= ...

  5. Tesseract训练

    最近在用Tesseract做一个图片识别的小应用,目标图像只有数字和英文字母,在实际使用过程中发现个别数识别错误,因此不得不研究学习Tesseract的训练. http://www.cnblogs.c ...

  6. Unity Post-Processing的一些分享

    讲些什么? 绝大多数的游戏或多或少都会使用些后处理效果. 早期版本中,Unity在提供的接口有限,优化空间不大,属于放任自流.官方推出了Post-Processing(下文简称PP)并在Github上 ...

  7. 二、Python-运算符、控制及循环语句

    一.运算符 算数运算符 +:加 -:减 *:乘 /:除 ~:取反 %:求余数(只返回余数) //:取整数(只返回整数部分) **:幂,返回x的y次方 赋值运算符:= 比较运算符:<小于.< ...

  8. 使用DatagramSocket和DatagramPacket进行简单的通信

    DatagramSocket此类表示用来发送和接收数据报包的套接字. DatagramPacket此类表示数据报包. package cn.sxt.UdpDemo; import java.io.IO ...

  9. Spring MVC参数封装传递

    在Spring MVC中,前端JSP页面可以传递  基本类型(int,String).实体类型.包装类型.数组类型.集合类型(List.map )等. 假如在传递的类型中有 Date类型的字段,需要在 ...

  10. js基本知识

    1.js中的数据类型: js中的数据类型有undefined,boolean,number,string,object等5种,前4种为原始类型,第5种为引用类型. 2.typeof 返回的是字符串,有 ...