IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 【二项式定理】【组合数学】【二进制】Divan and bitwise operations -> 正文阅读

[人工智能]【二项式定理】【组合数学】【二进制】Divan and bitwise operations

二项式定理前置知识

二项式系数相关性质:

  • 对称性: C n m = C n n ? m C_n^m = C_n^{n-m} Cnm?=Cnn?m?
  • 增减性与最大值:二项式系数前半部分逐渐增大,后半部分逐渐减小,中间取最大值。
    最大值 m a x = { C n n 2 C n n ? 1 2 = C n n + 1 2 max=\begin{cases} C_n^{\frac{n}{2}} \\ C_n^{\frac{n-1}{2}}=C_n^{\frac{n+1}{2}}\end{cases} max={Cn2n??Cn2n?1??=Cn2n+1???
  • 二项式系数之和: C n 1 + C n 2 + C n 3 + . . . + C n n ? 1 + C n n = 2 n C_n^1+C_n^2+C_n^3+...+C_n^{n-1}+C_n^n=2^n Cn1?+Cn2?+Cn3?+...+Cnn?1?+Cnn?=2n
  • 二项式奇数项系数之和等于偶数项系数之和,即
    C n 1 + C n 3 + C n 5 + . . . = C n 2 + C n 4 + C n 6 + . . . = 2 n ? 1 C_n^1+C_n^3+C_n^5+...=C_n^2+C_n^4+C_n^6+...=2^{n-1} Cn1?+Cn3?+Cn5?+...=Cn2?+Cn4?+Cn6?+...=2n?1

题目链接

https://codeforces.com/problemset/problem/1614/C

给定一个序列一些子区间的 所有元素的 或 值,求出原序列所有子序列异或值的和


  • 如果整个序列构造出来,如何求子序列的异或和?
    思路:按位考虑求每一位对答案的贡献
    子序列的话,可以考虑排列组合的方法求所有情况的贡献。
    设第i位为1的数字有k个,则为0的数有n-k个。异或值只有奇数个1才会产生贡献,所以从k1中选择奇数个。而剩下的0可以随便选择,情况为 2 n ? k 2^{n-k} 2n?k
    产生的贡献为 w = { 2 i ? 1 ? ( C k 1 + C k 3 + . . . + C k k ? 1 ) ? 2 n ? k , k 为 偶 数 2 i ? 1 ? ( C k 1 + C k 3 + . . . + C k k ? 1 ) ? 2 n ? k , k 为 奇 数 w =\begin{cases}2^{i-1}*(C^1_k+C^3_k+...+C^{k-1}_k)*2^{n-k},k为偶数\\2^{i-1}*(C^1_k+C^3_k+...+C^{k-1}_k)*2^{n-k} ,k为奇数\end{cases} w={2i?1?(Ck1?+Ck3?+...+Ckk?1?)?2n?k,k2i?1?(Ck1?+Ck3?+...+Ckk?1?)?2n?kk?
    根据二项式定理得: w = 2 i ? 1 ? 2 k ? 1 ? 2 n ? k = 2 i ? 1 ? 2 n ? 1 w=2^{i-1}*2^{k-1}*2^{n-k}=2^{i-1}*2^{n-1} w=2i?1?2k?1?2n?k=2i?1?2n?1
    可见: 只要该位中至少有一个数为1,就会产生贡献,而且产生的贡献相同(只有对应的i不同)
  • 所以构造序列就没有必要了。只需要对所有的区间或值或起来,得到最终的一个值,如果对应位为1,那么该位必然至少有一个1,就可以产生贡献。
  • 计算:相同项保留,只有i不同,这一项所有的相加,就是该位为1时对应的二进制值相加,这一个项所有相加的结果为 所有值的
#include<bits/stdc++.h>
using namespace std;
const int mod = 1e9+7,N = 2e5+5;
typedef long long ll;

int n,m;
ll fact[N];

void solve()
{
	int l,r,x;
	cin>>n>>m; 
	ll res = 0;
	while(m--)
	{
		cin>>l>>r>>x;
		res |= x;
	}
	cout<<res * fact[n-1] % mod<<endl;
}
int main()
{
	int t;
	cin>>t;
	fact[0] = 1;
	for(int i=1;i<N;i++) fact[i] = fact[i-1]*2%mod;
	while(t--) solve();
	return 0;
 } 
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-02-06 13:50:16  更:2022-02-06 13:50:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 19:32:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码