CF1352E Special Permutation(桶排序+前缀和)
时间:2020-05-23
本文章向大家介绍CF1352E Special Permutation(桶排序+前缀和),主要包括CF1352E Special Permutation(桶排序+前缀和)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
题意:
给你一个序列,如果有一个数满足序列里的一段子序列的和等于这个数,那么就称这个数为特殊数。
请你计算有多少个特殊数。
题解:
观察数据范围,我们可以构造一个桶记录每个数的出现次数,再枚举所有前缀和统计,用完这个桶就把它清空,时间复杂度O(n^2)。一开始写的map做法也是这个复杂度不知道为什么没过。
打cf还是尽量少用map吧。
#include<bits/stdc++.h> using namespace std; const int maxn=1e5+100; int t; int n; int a[maxn]; int c[maxn]; int cnt[maxn]; int main () { scanf("%d",&t); while (t--) { scanf("%d",&n); memset(cnt,0,sizeof(cnt)); for (int i=1;i<=n;i++) scanf("%d",&a[i]),cnt[a[i]]++; for (int i=1;i<=n;i++) c[i]=c[i-1]+a[i]; int ans=0; for (int i=1;i<=n;i++) { for (int j=i+1;j<=n;j++) if (c[j]-c[i-1]<=n&&cnt[c[j]-c[i-1]])ans+=cnt[c[j]-c[i-1]],cnt[c[j]-c[i-1]]=0; } printf("%d\n",ans); } }
原文地址:https://www.cnblogs.com/zhanglichen/p/12944022.html
- 用 Python 实现一个大数据搜索引擎
- 关于 Java 你不知道的 10 件事
- 如何在一周之内获得GitHub stars 3500+ —为什么对于程序员这是如此的重要
- 程序员做完整性检查的命令行工具
- Spring MVC工作原理
- PHP 中被忽略的性能优化利器:生成器
- 精心收集的 48 个 JavaScript 代码片段,仅需 30 秒就可理解
- 从放弃迅雷到自己开发下载工具
- SSH 登录流程分析
- 从 0 到 1 优雅的实现PHP多进程管理
- 爬虫抓取的门道——来看这篇
- Java编程常见问题汇总(一)
- 关于 Java 你不知道的 10 件事
- PHP 实时生成并下载超大数据量的 EXCEL 文件
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 基于Python+QT的gui程序开发实现
- 使用tensorflow根据输入更改tensor shape
- 使用keras实现非线性回归(两种加激活函数的方式)
- Django Form设置文本框为readonly操作
- 浅谈tensorflow使用张量时的一些注意点tf.concat,tf.reshape,tf.stack
- keras和tensorflow使用fit_generator 批次训练操作
- php-fpm中max_children的配置
- python文件读取失败怎么处理
- PHP-FPM的配置与优化讲解
- python为什么会环境变量设置不成功
- keras自动编码器实现系列之卷积自动编码器操作
- PHP数字金额转换成中文大写显示
- 详解Python多线程下的list
- Python 字符串池化的前提
- PHP抽象类基本用法示例