CF1070K Video Posts 题解
2024-10-18 04:25:27
Content
有 \(n\) 个数 \(a_1,a_2,a_3,...,a_n\),要求分成 \(k\) 段,每一段的数的总和相等。输出这些段的长度,或者不可能满足要求。
数据范围:\(1\leqslant n,k\leqslant 10^5,1\leqslant a_i\leqslant 10^4\)。
Solution
我们先暴力扫一遍,把每一段的总和求出来,具体来说,如果有总和 \(=\overline{a_i}\) 的一段,那么就把它加入答案序列里面,这样的话还可以很好地判断无法满足要求的情况。最后再看如果分的段数是否 \(=k\),不等于的话就不可能满足题目要求,否则将答案序列输出即可。
感觉这样讲的不太懂的去看代码理解一下吧。
Code
int n, k, sum, a[100007], s, len = 0, ans[100007];
int main() {
getint(n), getint(k);
_for(i, 1, n) {getint(a[i]); sum += a[i];}
_for(i, 1, n) {
len++;
s += a[i];
if(s == sum / k) {ans[++ans[0]] = len; len = s = 0; if(ans[0] == k && i != n) return printf("No"), 0;}
}
if(ans[0] < k) printf("No");
else {
puts("Yes");
_for(i, 1, ans[0]) {writeint(ans[i]); putchar(' ');}
}
return 0;
}
最新文章
- ios视图frame和bounds的对比
- jsoup简单的爬取网页数据
- 让Windows 7变成WIFI热点
- SGU 422 Fast Typing(概率DP)
- [python学习笔记]Day2
- 键盘--android 隐藏系统键盘
- Web Service无法加载协定为“ServiceReference1.xxxxxx”的终结点配置部分,因为找到了该协定的多个终结点配置。请按名称指示首选的终结点配置部分
- 日志工具logback的简介与配置
- 结构体UT_LIST_ADD_LAST
- 百度地图API地点搜索-获取经纬度
- jquery拖拽插件 tableDnD
- Linux的正则表达式grep,egrep
- HP 1010、 1020、 1022 、M1005激光打印机内部无卡纸,但机器仍提示卡纸?
- 兆芯 服务器 win2012/win7装机总结
- 整合Spring框架和MyBatis框架
- 你可能不知道的viewport
- scrollView + tableview 上下滑动失效
- [LeetCode] All questions numbers conclusion 所有题目题号
- [QSCOJ39]喵哈哈村的代码传说 第五章 找规律
- 使用js实现单向绑定
热门文章
- idea中解决整合SSM加载不到dataSource;
- Python描述符以及Property方法的实现原理
- Identity Server 4 从入门到落地(一)—— 从IdentityServer4.Admin开始
- ubuntu安装配置ssh-connect to host localhost port 22: Connection refused
- 小程序https启用tls1.2
- 【Redis】Sentinel 哨兵模式
- day17 常用模块的应用
- Spark基础:(四)Spark 数据读取与保存
- 大数据学习----day27----hive02------1. 分桶表以及分桶抽样查询 2. 导出数据 3.Hive数据类型 4 逐行运算查询基本语法(group by用法,原理补充) 5.case when(练习题,多表关联)6 排序
- 初学js正则表达式之密码强度验证