codeforces 1301C Ayoub's function
题目链接:http://codeforces.com/problemset/problem/1301/C
思路:
纯想想了一次,发现one_cnt >= zero_cnt的时候很简单,就是(n)*(n+1)/2+ont_cnt,
但是当one_cnt<zero_cnt的时候,就有点麻烦了,虽然乱七八糟的乱写,发现zero要尽可能
的被one平分才行,但是正向写就比较麻烦。
f(s) = 至少含有1个‘1’的子串 = (n)*(n-1) - fy(只包含‘0’的子串)。
那我们就是要把fy尽可能的小,显然一段长度为x的含'0'的字段,子串数 = (x)*(x+1)/2,
所以我们应该尽可能的用'1'去平分'0'。
m个‘1’最多可以把‘0’分成m+1段,每段数量就是 cnt = zero/(one+1),剩余的zero分别分配到1个到'0'字段中,
也就是remain_zero*cnt,(n)*(n-1)/2减去只包含‘0’的子串就可以了。
#include <iostream>
#include <algorithm>
using namespace std; typedef long long ll; int main(){ int T;
scanf("%d",&T);
for(int i = ; i <= T; ++i){
ll n,one;
scanf("%lld%lld",&n,&one);
ll zero = n - one;
ll cnt = zero/(one+);
ll remain = zero%(one+);//剩余'0'的数量
ll ans = ( n*(n+) - cnt*(cnt+)*(one+) )/ - remain*(cnt+);
//printf("ans = %lld\n",ans);
printf("%lld\n",ans);
} return ;
}
codeforces 1301C Ayoub's function的更多相关文章
- CodeForces 840A - Leha and Function | Codeforces Round #429 (Div. 1)
/* CodeForces 840A - Leha and Function [ 贪心 ] | Codeforces Round #429 (Div. 1) A越大,B越小,越好 */ #includ ...
- CodeForces - 837E - Vasya's Function | Educational Codeforces Round 26
/* CodeForces - 837E - Vasya's Function [ 数论 ] | Educational Codeforces Round 26 题意: f(a, 0) = 0; f( ...
- Codeforces Round #619 (Div. 2) Ayoub's function
Ayoub thinks that he is a very smart person, so he created a function f(s)f(s) , where ss is a binar ...
- Codeforces 837E. Vasya's Function
http://codeforces.com/problemset/problem/837/E 题意: f(a, 0) = 0; f(a, b) = 1 + f(a, b - gcd(a, b)) ...
- Codeforces 837E Vasya's Function - 数论
Vasya is studying number theory. He has denoted a function f(a, b) such that: f(a, 0) = 0; f(a, b) = ...
- 【Codeforces 429D】 Tricky Function
[题目链接] http://codeforces.com/problemset/problem/429/D [算法] 令Si = A1 + A2 + ... + Ai(A的前缀和) 则g(i,j) = ...
- 【codeforces 429D】Tricky Function
[题目链接]:http://codeforces.com/problemset/problem/429/D [题意] 给你n个数字; 让你求出一段区间[l,r] 使得 (r−l)2+(∑rl+1a[i ...
- codeforces 678D Iterated Linear Function 矩阵快速幂
矩阵快速幂的题要多做 由题可得 g[n]=A*g[n-1]+B 所以构造矩阵 { g[n] } = {A B} * { g[n-1]} { 1 } {0 1 ...
- codeforces gym 100187M Heaviside Function
//大概就是没想起来怎么做 解法:首先观察seitan方程,发现我们要找的是满足seitan(si*x-ai)=1的方程数,即si*x-ai>=0的方程数,因为si=1 or -1,于是分类讨论 ...
随机推荐
- Nito.AsyncEx 这个库
有一个非常聪明的小伙子 (我高度赞扬) 叫 Stephen Cleary ,他写了一个很棒的 Extension 集,共同参与开发的还有 Stephen Toub (他显然是经验丰富的),所以我充分信 ...
- 《即时消息技术剖析与实战》学习笔记8——IM系统如何保证长连接的可用性:心跳机制
假设有以下突发意外情况: 用户进入信号不好的地方,手机没有网络信号了 上网的路由器突然掉线了 这个时候,比如微信发消息,消息就会转圈圈,甚至变成红色叹号-- 上面情况都会导致"长连接&quo ...
- redis--->微博小项目
redis 微博小项目 centos6.9+lnmp+redis 写的微博小项目,梳理了redis在项目中kes的设计,redis各种数据结构在不同业务场景下的应用等知识点. 这里用的php框架是自己 ...
- 解决IDEA使用lombok注解无效,@Data不生效问题
在settings设置启用注解即可:
- SQL 两个时间段 不能重复语句
DECLARE @BeginDate datetime; DECLARE @EndDate datetime; set @BeginDate='2015-03-2' set @EndDate='201 ...
- Ecplise-SVN插件异常: 由于目标计算机积极拒绝,无法连接。
在Ecplise中,选择team->share project时,出现以下异常 由于目标计算机积极拒绝,无法连接. svn: Unable to connect to a repository ...
- Java 程序是如何执行的
Java 程序是如何执行的 了解任何一门语言的精髓都是先俯览其全貌,从宏观的视角把握全局,然后再深入每个知识点逐个击破,这样就可以深入而快速的掌握一项技能.同样学习 Java 也是如此,本节就让我们先 ...
- Nginx 配置访问本地目录
server { listen 8888; # 监听端口 server_name peer; # 服务名 charset utf-8; # 字符集,可处理中文乱码 location / { autoi ...
- 【原创】在 .NET Core 3.1 中使用 Senparc.Weixin.Work 企业微信 SDK —— 发送文本消息
下面在控制台应用里展示一个简单的例子来实现发送文本消息. 本文目录: 创建控制台应用 添加SDK引用 命令行方式 进入项目目录 添加包引用 配置和使用SDK 添加appsettings.json文件 ...
- Codeforces_733_D
http://codeforces.com/problemset/problem/733/D 先给边排序,然后按3条边排序,只要判断相邻是否能组成长方体. #include<iostream&g ...