[题解]P10185 [YDOI R1] Necklace
容易写出答案为:
\]
其中 \(S\) 为 \(a_i\) 之和。
解释:第 \(i\) 种珠子被选 \(j\) 次时,其他种类的珠子可以随意选择(\(2^{S-a_i}\)),\(i\) 种类的珠子从 \(a_i\) 中选 \(j\) 个(\(C_{a_i}^j\)),产生 \(v_i^j\) 的贡献。
内部的 \(\sum\) 不是非常好求,不过我们有二项式定理:
\]
那么我们可以尝试化成二项式定理的形式:
&\quad\sum\limits_{j=1}^{a_i}(C_{a_i}^j\times v_i^j\times 1^{a_i-j})\\
&=(v_i+1)^{a_i}-1
\end{aligned}\]
快速幂即可解决。
于是答案就是:
\]
时间复杂度 \(O(n(\log n+\log S))\)。
点击查看代码
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=2e5+10,P=1e9+7;
int n,a[N],v[N],s,ans;
int qp(int a,int n){
int f=1;
while(n){
if(n&1) f=f*a%P;
a=a*a%P,n>>=1;
}
return f;
}
signed main(){
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i],s+=a[i];
for(int i=1;i<=n;i++) cin>>v[i];
for(int i=1;i<=n;i++){
(ans+=(qp(v[i]+1,a[i])-1+P)%P*qp(2,s-a[i]))%=P;
}
cout<<ans<<"\n";
return 0;
}
[题解]P10185 [YDOI R1] Necklace的更多相关文章
- R1题解
估分 大佬们都去写题解了,我不写可能会被老师训诶.... 预计分数:100 + 100 + 5 + 100 + 25 + 100 = 430 实际 :80 + 100 + 0 + 100 + 25 + ...
- 题解 P1203 【[USACO1.1]坏掉的项链Broken Necklace】
[USACO1.1]坏掉的项链Broken Necklace 22892 破碎的项链 方法一:很容易想到枚举断点,再分别两头找,但是要注意很多细节 #include<iostream> # ...
- 题解【UVA10054】The Necklace
题目描述 输入格式 输出格式 题意简述 有一种由彩色珠子连接而成的项链.每个珠子的两半由不同颜色组成.如图所示,相邻两个珠子在接触的地方颜色相同.现在有一些零碎的珠子,需要确认它们是否可以复原成完整的 ...
- 【dog与lxy】8.25题解-necklace
necklace 题目描述 可怜的dog最终还是难逃厄运,被迫于lxy签下城下之约.这时候lxy开始刁难dog. Lxy首先向dog炫耀起了自己的财富,他拿出了一段很长的项链.这个项链由n个珠子按顺序 ...
- SDOI2021集训 R1 半夜 题解
先贴两个博客:ajthreac yspm,建议结合起来看 \(O(n^3)\):对 \(XX\) 每个长度为 \(n\) 的字串与 \(Y\) 跑 LCS.设 \(f[i,j,k]\) 表示 \(X[ ...
- LuoguP7127 「RdOI R1」一次函数(function) 题解
Content 设 \(S_k\) 为直线 \(f(x)=kx+k-1\),直线 \(f(x)=(k+1)x+k\) 与 \(x\) 轴围成的三角形的面积.现在给出 \(t\) 组询问,每组询问给定一 ...
- [题解]UVA10054 The Necklace
链接:http://vjudge.net/problem/viewProblem.action?id=18806 描述:给出一堆珠子,每个珠子有两种颜色,有一端颜色相同的珠子可以串在一起,问是否可以把 ...
- lg7335 [JRKSJ R1] 异或 题解
本题的标签中含有trie,但是这道题可以不用trie做. 考虑列出本题的dp方程:设\(f_{k,i}\)表示前\(i\)个数选了\(k\)段的答案,\(s_i\)为数组的前缀异或和 当不选择第\(i ...
- noip2016十连测题解
以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...
- 2016 Multi-University Training Contest 1 H.Shell Necklace
Shell Necklace Time Limit: 16000/8000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)T ...
随机推荐
- HashMap知识点梳理、常见面试题和源码分析
本博客是包括HashMap在内的相关知识点博文链接的入口,从介绍哈希表的基本概念开始,到HashMap的应用.实现原理和常见面试题,包括分析其源码,还包括相关知识点的延伸,例如HashSet等. ...
- 使用Vditor将Markdown文档渲染成网页(Vite+JS+Vditor)
1. 引言 编写Markdown文档现在可以说是程序员的必备技能了,因为Markdown很好地实现了内容与排版分离,可以让程序员更专注于内容的创作.现在很多技术文档,博客发布甚至AI文字输出的内容都是 ...
- centos7环境配置(防火墙,git,nodejs,redis,nginx)
一台新的云服务器,如何配置基础环境: 0. 更新软件包和存储库 sudo yum update -y 1. 防火墙设置 # 启动防火墙 systemctl start firewalld # 查看防火 ...
- C#/.NET/.NET Core技术前沿周刊 | 第 41 期(2025年6.1-6.8)
前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录.追踪C#/.NET/.NET Core领域.生态的每周最新.最实用.最有价值的技术文章.社区动态.优质项目和学习资源等. ...
- HarmonyOS Next快速入门:为什么学习HarmonyOS NEXT?
鸿蒙基础知识##HarmonyOS Next快速入门## 点击跳转<HarmonyOS Next快速入门>视频教程 学习HarmonyOS NEXT的原因主要有以下几点: 一.技术前沿与创 ...
- 如何在FastAPI中玩转WebSocket消息处理?
扫描二维码 关注或者微信搜一搜:编程智域 前端至全栈交流与成长 发现1000+提升效率与开发的AI工具和实用程序:https://tools.cmdragon.cn/ 一.文本消息接收与发送 # 运行 ...
- C# 关于 &符号字符串转对象
string respDataJson = "A=&B=2&C=asdfasdf"; string respDataJson = "A=&B=2& ...
- node: /lib64/libm.so.6: version `GLIBC_2.27' not found
场景 cent os7服务器使用nvm安装的node之后,只要使用npm或者node,均会出现以下问题 [root@172 ~]# npm -v node: /lib64/libm.so.6: ver ...
- CF1928E Modular Sequence 题解
CF1928E Modular Sequence 考虑合法的答案的构成为一个 \(x,x+y,\dots x+ky\) 的块加上若干个 \(x\bmod y,x\bmod y+y,\dots x\bm ...
- Codeforces Round #669 ABC 题解
A. Ahahahahahahahaha 题意:给个一个偶数长度的01序列,要求删除不超过2/n个元素使得奇数位和等于偶数位和. 思路:注意到题目给的提示,只有0和1,且为偶数长度. 那么对和有贡献的 ...