题意:给你n个数,将他们分成连续的三个部分使得每个部分的和相同,求出分法的种数。

思路:用一个数组a[i]记下从第一个点到当前i点的总和。最后一个点是总和为sum的点,只需求出总和为1/3sum的点和总和为2/3sum的点搭配的所有情况。遍历一遍总和为2/3sum的点前总和为1/3sum的点的个数。

#include<stdio.h>
#include<string.h>
#include<iostream>
using namespace std;
const int MAXN=;
typedef long long ll;
ll a[MAXN];
int main() {
int n;
while(~scanf("%d",&n)) {
a[]=;
for(int i=;i<=n;i++) {
cin>>a[i];
a[i]=a[i]+a[i-];
}
if(a[n]%!=) {
printf("0\n");
continue;
}
ll sum1=a[n]/;
ll sum2=sum1*; int cn1=;ll cut=;
for(int i=;i<n;i++)
{
if(a[i]==sum2 )
{
cut+=cn1;
}
if(a[i]==sum1 && i<n-)
{
cn1++;
}
}
cout<<cut<<endl;
}
return ;
}
 
 
 
题意:求出最小满足的数v使得在集合1,2,...,v中能找到cnt1个不能被x整除的数与cnt2个不能被y整除的数(x与y是质数)。
 
思路:考虑对任意一个数n,a=n-n/x表示不能被x整除的个数,b=n-n/y表示不能被y整除的个数,c=n-(n/x-n/x/y)-(n/y-n/x/y)-n/x/y=n-n/x-n/y+n/x/y表示既不能被x整除又不能被y整除的公共部分。

#include<iostream>
using namespace std;
typedef long long ll;
int main()
{
int cnt1,cnt2,x,y;
while(cin>>cnt1>>cnt2>>x>>y)
{
ll l=cnt1+cnt2;
ll r=2e18;
ll middle=(l+r)/; while(l<r)
{
ll a=middle-middle/x;
ll b=middle-middle/y;
ll c=middle+middle/x/y-middle/x-middle/y;
a-=c;
b-=c;
if(((cnt1>a)?(cnt1-a):)+((cnt2>b)?(cnt2-b):)<=c)
{
r=middle;
}
else
{
l=middle+;
}
middle=(l+r)/;
}
cout<<middle<<endl;
}
return ;
}

codeforces 466C 计数 codeforces 483B 二分 容斥的更多相关文章

  1. codeforces B. Friends and Presents(二分+容斥)

    题意:从1....v这些数中找到c1个数不能被x整除,c2个数不能被y整除! 并且这c1个数和这c2个数没有相同的!给定c1, c2, x, y, 求最小的v的值! 思路: 二分+容斥,二分找到v的值 ...

  2. Codeforces 920G List Of Integers 二分 + 容斥

    题目链接 题意 给定 \(x,p,k\),求大于 \(x\) 的第 \(k\) 个与 \(p\) 互质的数. 思路 参考 蒟蒻JHY. 二分答案 \(y\),再去 \(check\) 在 \([x,y ...

  3. BZOJ 2440 [中山市选2011]完全平方数 二分+容斥

    直接筛$\mu$?+爆算?再不行筛素数再筛个数?但不就是$\mu^2$的前缀和吗? 放...怕不是数论白学了$qwq$ 思路:二分+容斥 提交:两次(康了题解) 题解: 首先答案满足二分性质(递增), ...

  4. Codeforces 920G(二分+容斥)

    题意: 定义F(x,p)表示的是一个数列{y},其中gcd(y,p)=1且y>x 给出x,p,k,求出F(x,p)的第k项 x,p,k<=10^6 分析: 很容易想到先二分,再做差 然后问 ...

  5. Codeforces.997C.Sky Full of Stars(容斥 计数)

    题目链接 那场完整的Div2(Div1 ABC)在这儿.. \(Description\) 给定\(n(n\leq 10^6)\),用三种颜色染有\(n\times n\)个格子的矩形,求至少有一行或 ...

  6. Codeforces 1553I - Stairs(分治 NTT+容斥)

    Codeforces 题面传送门 & 洛谷题面传送门 u1s1 感觉这道题放到 D1+D2 里作为 5250 分的 I 有点偏简单了吧 首先一件非常显然的事情是,如果我们已知了排列对应的阶梯序 ...

  7. Codeforces 439E Devu and Birthday Celebration 容斥

    Devu and Birthday Celebration 我们发现不合法的整除因子在 m 的因子里面, 然后枚举m的因子暴力容斥, 或者用莫比乌斯系数容斥. #include<bits/std ...

  8. Codeforces 548E(莫反、容斥)

    转化为质数域上的操作,如果用莫反的话,记录因数的cnt. 其实莫反的推式子最后和容斥做法殊途同归了,容斥的系数就是莫比乌斯函数. const int maxn = 2e5 + 5, maxa = 5e ...

  9. Codeforces Round 450 D 隔板法+容斥

    题意: Count the number of distinct sequences a1, a2, ..., an (1 ≤ ai) consisting of positive integers ...

随机推荐

  1. reveal end of document

     window - Preferences - Run/Debug - Console 将 Console buffer size (characters)设置大一点

  2. css写箭头

    /* 向上的箭头 */ .dot-top { font-size: 0; line-height: 0; border-width: 10px; border-color: red; border-t ...

  3. 基于JT/T 1078协议设计和开发部标视频服务器

    交通部与2016年10月份推出了JT/T 1078-2016标准,全称是<道路运输车辆卫星定位系统视频通信协议>.该标准将改变以往两客一危车辆的视频监控设备通信协议都是设备厂商私有协议的局 ...

  4. centos6.5安装Apache+MySQL+PHP

    一.安装 MySQL 首先来进行 MySQL 的安装.打开超级终端,输入: [root@localhost ~]# yum install mysql mysql-server 安装完毕,让 MySQ ...

  5. android开发中遇到的问题汇总【九】

    244.http请求的url含有中字符时.须要Uri编码.Uri.encoder() 245.使用androidstudio时,不知道什么原因svn不见了 Android Studio missing ...

  6. 【windows7 + Appium】之Appium安装以及其他工具安装配置

    首先感谢虫师总结的教程:<appium新手入门>.以及:<appium新手入门(2)—— 安装 Android SDK> 目录: 安装Appium&安装node.js ...

  7. Hibernate: 数据持久层框架

    Hibernate 是一种Java语言下的对象关系映射解决方案. 它是使用GNU宽通用公共许可证发行的自由.开源的软件.它为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架.Hi ...

  8. 更改Mysql 密码的4种方法(转)

    原文:http://www.jb51.net/article/39454.htm 方法1: 用SET PASSWORD命令 首先登录MySQL. 格式:mysql> set password f ...

  9. Python的paramiko模块ssh操作

    SSHClient 用于连接远程服务器并执行基本命令 基于用户名密码连接: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 import paramiko    # 创建 ...

  10. 《转》PyQt4 精彩实例分析* 实例2 标准对话框的使用

    和大多数操作系统一样,Windows及Linux都提供了一系列的标准对话框,如文件选择,字体选择,颜色选择等,这些标准对话框为应用程序提供了一致的观感.Qt对这些标准对话框都定义了相关的类.这些类让使 ...