牛客OI测试赛 C 序列 思维
2024-09-01 07:03:47
链接:https://www.nowcoder.com/acm/contest/181/C
来源:牛客网
题目描述
小a有n个数,他想把他们划分为连续的权值相等的k段,但他不知道这是否可行。
每个数都必须被划分
这个问题对他来说太难了,于是他把这个问题丢给了你。
输入描述:
第一行为两个整数n,q,分别表示序列长度和询问个数。
第二行有n个数,表示序列中的每个数。
接下来的q行,每行包含一个数k,含义如题所示。
输出描述:
输出q行,每行对应一个数Yes或者No,分别表示可行/不可行
输入例子:
5 3
2 1 3 -1 4
3
2
1
输出例子:
Yes
No
Yes
-->
备注:
对于的数据,
对于的数据,
对于的数据,
设ai表示数列中的第i个数,保证
保证数据完全随机
分析:
AC代码:
#include <map>
#include <set>
#include <stack>
#include <cmath>
#include <queue>
#include <cstdio>
#include <vector>
#include <string>
#include <bitset>
#include <cstring>
#include <iomanip>
#include <iostream>
#include <algorithm>
#define ls (r<<1)
#define rs (r<<1|1)
#define debug(a) cout << #a << " " << a << endl
using namespace std;
typedef long long ll;
const ll maxn = 1e5 + 10;
const double eps = 1e-8;
const ll mod = 1e9 + 7;
const ll inf = 1e9;
const double pi = acos(-1.0);
ll a[maxn];
int main() {
std::ios::sync_with_stdio(false);
ll n, q, sum = 0;
scanf("%lld%lld",&n,&q);
for( ll i = 0; i < n; i ++ ) {
scanf("%lld",&a[i]);
sum += a[i];
}
while( q -- ) {
ll k;
scanf("%lld",&k);
if( sum%k || k > n ) {
printf("No\n");
continue;
}
ll ans = 0, avg = sum/k, cnt = 0;
bool flag = false;
for( ll i = 0; i < n; i ++ ) {
ans += a[i]; //最后可能加上0,而0可以合并到前面区间,所以用ans=0来判断
//开始用flag判断最后一位是否刚好可以让ans=avg,判断错了
if( ans == avg ) {
ans = 0;
cnt ++;
}
}
if( ans == 0 && cnt == k ) {
printf("Yes\n");
} else {
printf("No\n");
}
}
return 0;
}
最新文章
- python的print函数的格式化输出
- ABAP 常见查询问题解决方法
- Eclipse常用快捷键与代码模板
- 在C#中对Datatable排序【DefaultView的Sort方法】
- lintcode :First bad version 第一个错误的代码版本
- Android判断网络是否已经连接
- webrtc学习(二): audio_device之opensles
- 【手把手教你Elmah】如何在MVC.NET项目中在线查看【错误日志】
- CoreAnimation 核心动画二 锚点
- ACM2037
- 1.编写TextRw.java的Java应用程序,程序完成的功能是:首先向TextRw.txt中写入自己的学号和姓名,读取TextRw.txt中信息并将其显示在屏幕上。
- 【BZOJ4822】[CQOI2017]老C的任务(扫描线)
- 【转】robot framework + python实现http接口自动化测试框架
- windows 10 更新失败及应用商店重装问题解决记录
- PHP打开空白的解决办法
- MAC上安装GCC失败
- jboss各种测试方式归类
- 成员函数后面加const,没有const,以及使用的区别
- 我的QT5学习之路(四)——信号槽
- bzoj 1833
热门文章
- 【Python】Django【邮箱验证】 后端验证如何生成 token加密验证码 与如何解码!!!!
- SQLServer2000同步复制技术实现步骤
- 安装MySQL5.7 安装环境:CentOS7 64位 MINI版,
- 树莓派 + Windows IoT Core 搭建环境监控系统
- Android 9.0 关机流程分析
- kubernetes CRD开发指南
- 数据结构之稀疏矩阵C++版
- Spring 常犯的十大错误,答应我 打死都不要犯好吗?
- RE最全面的正则表达式----数字篇
- 直击--vue项目微信小程序页面跳转web-view不刷新-根源