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. 报错:Flink Could not resolve substitution to a value: ${akka.stream.materializer}

    报错现象: Exception in thread "main" com.typesafe.config.ConfigException$UnresolvedSubstitutio ...

  2. markdwon语法与Typora

    我也是在视频中看到别人的操作,不知道这是个什么玩意? 直到无意间看到了markdown,才意识到其他人用的是markdown. 当你看到一个人使用类似 ![blockchain](https://ss ...

  3. .net 多线程之线程取消

    //线程取消不是操作线程,而是操作信号量(共享变量,多个线程都能访问到的东西,变量/数据库的数据/硬盘数据) //每个线程在执行的过程中,经常去查看下这个信号量,然后自己结束自己 //线程不能别人终止 ...

  4. 数据库-PLSQL登录oracle数据库卡死(未响应)解决方法

    上次重装系统后重新安装了oracle和PLSQL,哪知道PLSQL登录不了,一登录就未响应,但如果不登录就不卡死,直接就进去了.在网上查了很多解决方法,都没有用. 后来在百度文库找到解决办法,重启Or ...

  5. VC工程产生文件后缀名解释

    [原文出自http://hi.baidu.com/zj0932zj/blog/item/b55f33cc7753c01700e92870.html ] .APS:存放二进制资源的中间文件,VC把当前资 ...

  6. JAVA正则表达式匹配,替换,查找,切割(转)

    import java.util.ArrayList; import java.util.regex.Matcher; import java.util.regex.Pattern; public c ...

  7. thinkphp5在Linux下Nginx配置问题解决

    首先tp5的访问目录指向到webroot/public文件夹中. thinkphp的url访问:http://serverName/index.php(或者其它应用入口文件)/模块/控制器/操作/[参 ...

  8. kettle删除移动文件

  9. MySQL表数据的增删改查

    1.增 INSERT INTO tb VALUES(v1,v2,v3...); INSERT INTO tb (field1,field2...) VALUES(v1,v2...); INSERT I ...

  10. python算法之插入排序

    插入排序非常类似于整扑克牌.在开始摸牌时,左手是空的,牌面朝下放在桌上.接着,一次从桌上摸起一张牌,并将它插入到左手一把牌中的正确位置上.为了找到这张牌的正确位置,要将它与手中已有的牌从右到左地进行比 ...