上进的凡凡
code1:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e5 + 9;
ll a[N],f[N];
int main()
{int t;cin >> t;for(int i = 1; i <= t; ++i){f[i] = 1;cin >> a[i];if(a[i] >= a[i-1])f[i] += f[i-1];ans += f[i];}cout << ans << endl;return 0;
}

code2:

#include <iostream>
using namespace std;
int main() {int last = 0;int temp;int n;long long res = 0;long long count = 0;cin >> n;while (n--) {cin >> temp;//如果大于等于上一个数,nice数组长度+1//否则计算子数组的个数,长度重置为1if (temp >= last) {count++;} else {res += count * (count + 1) / 2;// 连续的count个,等于1+...+count,即等差数列求和公式count = 1;}last = temp;}//处理一下最后剩下的nice数组res += count * (count + 1) / 2;cout << res;
}

幸运数组
这道题关键是想出来用前缀和,当 sum[i] % k , 即余数出现过相同的,那么就可以用当前的位置减去第一次出现的位置;当 sum[i] == 0 ,维护一下max就行。
至于为什么余数相同,因为余数相同,相减得到的就是倍数。

#include <iostream>
#include <memory.h>
using namespace std;
int sum[100005];
int pos[100005];
int main()
{int temp;int k, t, n;cin >> t;while (t--) {memset(pos, 0, sizeof(pos));int Max = -1;cin >> n >> k;for (int i = 1; i <= n; ++i) {cin >> temp;sum[i] = (sum[i - 1] + temp) % k;if(sum[i] == 0){Max = max(Max, i);continue;}if (!pos[sum[i]]) pos[sum[i]] = i;// pos[i]记录是第一次出现这个余数的位置// 因为是从前往后扫,所以存第一个出现的位置可以扫出最大长度 else Max = max(Max, (i - pos[sum[i]]));  }cout << Max << endl;}
}

B字符串easy
从题意上来看,串的形式内容就是“AAAABBBBBBBAAAAAABBAAABBBB”

无非就是用一段 B + 一段 AB 或者 一段AB + AB 求最长的一个

#include<bits/stdc++.h>
using namespace std;
#define tb std::ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
int a[200010];
int main()
{tb;string s;int n, k = 0, maxx = 0;cin>>n>>s;for(int i = 0; i < n; ){int cnt = 0;while(s[i] == 'A')cnt++, i++;while(s[i] == 'B')cnt++, i++;a[k++] = cnt;}for(int i = 0; i < k; i++)maxx = max(maxx, a[i] + a[i+1]);cout<<maxx;return 0;
}

毅神代码

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <vector>
#include <queue>
using namespace std;
const int maxn=200000+50;
int n,m,ans,f[maxn],cnt;
char ch[maxn];
int main()
{scanf("%d%s",&n,ch+1);ch[0]='C';for (int i=1; i<=n; ++i)if (ch[i]<ch[i-1]) f[++cnt]=1;else ++f[cnt];for (int i=1; i<=cnt; ++i)ans=max(ans,f[i]+f[i-1]);printf("%d\n",ans);return 0;
}

上进的凡凡,幸运数组,字符串魔法(easy)相关推荐

  1. 字符串魔法(easy)

    链接:https://ac.nowcoder.com/acm/contest/9680/B 来源:牛客网 白浅获得了一个仅由A和B组成的字符串.他可以至多使用一次魔法来改变字符串. 魔法的定义:选择一 ...

  2. 第八届“图灵杯”NEUQ-ACM程序设计竞赛个人赛——C题 上进的凡凡

    题目描述 凡凡是一个上进的人,他的人生没有下坡路,他也讨厌带有"下坡路"的东西. 所以,对于凡凡来说,只有非降序的数组才是nice的(如:1,2,2,3,4,5,5):若数组元素个 ...

  3. 字符串魔法hard(前后缀与贪心)

    字符串魔法hard(前后缀与贪心) 链接:https://ac.nowcoder.com/acm/contest/9680/C 来源:牛客网 description: 白浅获得了一个仅由A和B组成的字 ...

  4. go解析复杂json数组字符串:结合使用json和simple-json库

    原始json数组字符串 [{"addition_links": {"build_history": {"absolute": false,& ...

  5. 第八届“图灵杯”NEUQ-ACM程序设计竞赛个人赛——B题 小宝的幸运数组

    题目描述 对于小宝来说,如果一个数组的总和能够整除他的幸运数字k,就是他的幸运数组,而其他数组小宝都很讨厌.现在有一个长度为n的数组,小宝想知道这个数组的子数组中,最长的幸运子数组有多长. 对于子数组 ...

  6. 基础C语言知识串串香10☞数组字符串结构体联合体枚举

    五.数组&字符串&结构体&联合体&枚举 5.1.c语言中定义一个字符串:char a[6]={'l','i','n','u','x','\0'};'\0'的字符编码为0 ...

  7. java写json数组字符串,Java将前端的json数组字符串转换为列表

    记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表. 前端数据转化与请求 var contracts = [ {id: '1', name: 'yanggb合同1'}, {i ...

  8. JS/Jquery遍历JSON对象、JSON数组、JSON数组字符串、JSON对象字符串

    JS遍历JSON对象 JSON对象 var jsonObj = {"id": 102,"year": "2019-2020","l ...

  9. json数组字符串转list集合

    在json数组里,除了可以表示数值外,字符串也是其中重要的一个组成.在数组中字符串和以前所学的内容相差不多,我们可以把模块的内容继承过来.那么如果想把json数组字符串转换成list集合,有八种不同的 ...

最新文章

  1. python excel web_使用python在WEB页面上生成EXCEL文件
  2. Spring Boot 自动配置之条件注解
  3. Android前端音视频数据接入GB28181平台意义
  4. Python面向对象程序设计中对象析构方法的调用时机
  5. text/x-jquery-tmpl做分页查询
  6. linuxliveu盘怎么用_linux mint 12 U盘(live usb)安装及体验
  7. 【Django 2021年最新版教程5】前端传递数据到后端处理 GET 方法
  8. html内容change事件,HTML onvolumechange事件用法及代码示例
  9. 自制游戏手柄joystick stm32 hal usb协议
  10. 按键精灵连接远程mysql_按键精灵手机版 如何连接远程网络数据库 进行读写操作...
  11. python实现输出日历_python实现输出日历
  12. 链家网页爬虫_爬虫-链家网租金数据
  13. 一个demo理解什么是MVP
  14. 《 指数基金投资指南 》by 银行螺丝钉 - 笔记 - 1、2章
  15. 慎用create table as select,一定要注意默认值的问题
  16. manifestdependency,manifest文件
  17. henauOJ055(猴子吃桃)
  18. win10---血战上海滩
  19. matlab 手把手教你制作五子棋小游戏
  20. imx6 修改CPU频率

热门文章

  1. 自然语言处理(九)——数据平滑
  2. matlab播放 视频帧,MATLAB读取视频并按帧保存
  3. iQOONeo6SE和iQOONeo5SE区别 哪个好 iQOONeo6SE和iQOONeo5SE哪个值得买 两者配置对比
  4. kms自动激活Windows和Office
  5. 如何使用git 生成密钥?
  6. Case Study _均值方差模型 MatLab
  7. [计算机网络]交换机环路问题
  8. 关于COM中变体类型VARIANT
  9. Vue3使用element-plus1.3.0版本的el-menu菜单组件引入动态渲染icon图标时,图标组件刚好是Menu时报错,菜单不显示的解决方法
  10. 原创:商务通弹窗最新破解方法