HDU Sum

题目大意:给你一个数字 n ,n 个数字能分成多少组分类情况。

思路:这题要用插空法,一共 n 个数字,所以一共有 n - 1 个空可以插入,所以这道题目的答案就是C_{n-1}^{0}+C_{n-1}^{1}+C_{n-1}^{2}+...+C_{n-1}^{n-1},由二项式定理易得这个式子的和为2^{n-1} 。但是输入的这个 n 可能会很大(需要字符串输入),导致这个指数会特别大,所以我们要用费马小定理(a^{p-1}%p=1)来降幂。

二项式推导求和:

(x+y)^{n}=C_{n}^{0}*x^{n}*y^{0}+C_{n}^{1}*x^{n-1}*y^{1}+C_{n}^{2}*x^{n-2}*y^{2}+...+C_{n}^{n}*x^{0}*y^{n}

当 x=y=1 时,2^{n}=C_{n}^{0}+C_{n}^{1}+C_{n}^{2}+...+C_{n}^{n}

费马小定理(a^{p-1}%p=1)降幂:

a^{p-1}%p=1 ,  即当指数是模数-1的时候值为 1 ,所以我们可以把 2^{n} 转化一下 

2^{n}=2^{m*(p-1)+k}             无论 n 为何值 ,都有 m * ( p - 1) + k = n ,m 和 k 都为整数

2^{n}=(2^{p-1})^{m}*2^{k}        由费马小定理易得 2^{p-1} % p = 1

2^{n}=2^{k} 

代码如下:

#include <bits/stdc++.h>
using namespace std;
#define int long long
const int mod=1e9+7;
int ksm(int x,int y){
	int ans=1;
	while(y){
		if(y&1) ans=ans*x%mod;
		x=x*x%mod;
		y>>=1;
	}
	return ans;
}
signed main(){
	string s;
	while(cin >> s){
		int ans=0;
		for(int i=0;i<s.size();i++){//用费马小定理降幂 
			ans=(ans*10+s[i]-'0')%(mod-1);
		}
		ans=(ans-1+mod-1)%(mod-1);//保证指数非负 
		cout << ksm(2,ans) << endl;
	}
    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/900772.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Web应用框架-Django应用基础

1. 认识Django Django是一个用Python编写的开源高级Web框架&#xff0c; 旨在快速开发可维护和可扩展的Web应用程序。 使用Django框架的开发步骤&#xff1a; 1.选择合适的版本 2.安装及配置 3.生成项目结构 4.内容开发 5.迭代、上线、维护 Django官网&#xff1a; Djang…

UE4_Niagara基础实例—10、位置事件

效果&#xff1a; 若要为烟花火箭创建尾迹效果&#xff0c;则可将 生成位置事件&#xff08;Generate Location Event&#xff09; 模块放置到火箭发射器的粒子更新&#xff08;Particle Update&#xff09;组中。然后&#xff0c;尾迹发射器可使用位置数据生成跟随火箭的粒子…

离散制造和流程制造分别是什么?它们有什么区别?

为何有的企业生产过程看似一气呵成&#xff0c;而有的则是由多个环节组合而成&#xff1f;其实这就涉及到了制造业的两种常见生产模式。 流程制造离散制造 那么&#xff0c;在生产管理方面&#xff0c;离散制造和流程制造分别有什么特点、区别呢&#xff1f; 今天&#xff0…

C++游戏开发教程:从入门到进阶

C游戏开发教程&#xff1a;从入门到进阶 前言 在游戏开发的世界里&#xff0c;C以其高效的性能和灵活的特性&#xff0c;成为了众多游戏开发者的首选语言。在本教程中&#xff0c;我们将带您从基础知识入手&#xff0c;逐步深入到实际的游戏开发项目中。无论您是初学者还是有…

二百七十、Kettle——ClickHouse中增量导入清洗数据错误表

一、目的 比如原始数据100条&#xff0c;清洗后&#xff0c;90条正确数据在DWD层清洗表&#xff0c;10条错误数据在DWD层清洗数据错误表&#xff0c;所以清洗数据错误表任务一定要放在清洗表任务之后。 更关键的是&#xff0c;Hive中原本的SQL语句&#xff0c;放在ClickHouse…

深入理解Android WebView的加载流程与事件回调

在Android开发中&#xff0c;WebView用于显示网页和执行JavaScript。理解其加载流程和事件回调对于开发一个功能丰富且用户友好的基于Web的应用至关重要。本文将详细介绍 WebView 加载一个URL时的整个流程和相关的事件回调&#xff0c;帮助开发者更好地掌握其使用方法和处理可能…

数据库、数据仓库、数据湖和数据中台有什么区别

很多企业在面对数据存储和管理时不知道如何选择合适的方式&#xff0c;数据库、数据仓库、数据湖和数据中台&#xff0c;这些方式都是什么&#xff1f;有什么样的区别&#xff1f;企业根据其业务类型该选择哪一种&#xff1f;本文就针对这些问题&#xff0c;来探讨下这些方式都…

基于Netty构建WebSocket服务并实现项目群组聊天和实时消息通知推送

文章目录 前言需求分析技术预研Web端方案服务端技术 技术方案设计思路功能实现添加依赖自定义NettyServer自定义webSocketHandler使用NettyServer向在线用户发送消息 需要完善的地方 前言 我们的项目有个基于项目的在线文档编制模块&#xff0c;可以邀请多人项目组成员在线协同…

2024mathorcup大数据竞赛B题【电商品类货量预测及品类分仓规划】思路详解

问题 1&#xff1a;建立货量预测模型&#xff0c;对该仓储网络 350 个品类未来 3 个月&#xff08;7-9月&#xff09;每个月的库存量及销量进行预测&#xff0c;其中库存量根据历史每月数据预测月均库存量即可&#xff0c;填写表 1 的预测结果并放在正文中&#xff0c;并将完整…

Discuz发布原创AI帖子内容生成:起尔 | AI原创帖子内容生成插件开发定制

Discuz发布原创AI帖子内容生成&#xff1a;起尔 | AI原创帖子内容生成插件开发定制 在当今互联网快速发展的时代&#xff0c;内容创作成为了网站运营、社交媒体管理和个人博客维护不可或缺的一部分。然而&#xff0c;高质量内容的创作往往耗时耗力&#xff0c;特别是对于需要频…

实现prometheus+grafana的监控部署

直接贴部署用的文件信息了 kubectl label node xxx monitoringtrue 创建命名空间 kubectl create ns monitoring 部署operator kubectl apply -f operator-rbac.yml kubectl apply -f operator-dp.yml kubectl apply -f operator-crd.yml # 定义node-export kubectl app…

Qt 支持打包成安卓

1. 打开维护Qt&#xff0c;双击MaintenanceTool.exe 2.登陆进去,默认是添加或移除组件&#xff0c;点击下一步&#xff0c; 勾选Android, 点击下一步 3.更新安装中 4.进度100%&#xff0c;完成安装&#xff0c;重启。 5.打开 Qt Creator&#xff0c;编辑-》Preferences... 6.进…

self-supervised learning(BERT和GPT)

1芝麻街与NLP模型 我們接下來要講的主題呢叫做Self-Supervised Learning&#xff0c;在講self-supervised learning之前呢&#xff0c;就不能不介紹一下芝麻街&#xff0c;為什麼呢因為不知道為什麼self-supervised learning的模型都是以芝麻街的人物命名。 因為Bert是一個非常…

maven下载依赖报错Blocked mirror for repositories

原因&#xff1a;Maven版本过高 解决办法 setting文件添加 或者降低maven版本 <mirrors><mirror><id>maven-default-http-blocker</id><mirrorOf>external:dummy:*</mirrorOf><name>Pseudo repository to mirror external reposit…

表格切割效果,“两个”表格实现列对应、变化一致

如何让两个表格的部分列对应且缩放一致 先看效果 使用一个原生table的即可实现 “两个”表格的视觉效果让“两个”表格的对应列缩放保持一致 废话不多说&#xff0c;直接上代码 html: <html><div><table><caption class"table-name">表格…

模拟信号采集显示器+GPS同步信号发生器制作全过程(焊接、问题、代码、电路)

1、制作最小系统板 在制作最小系统板的时候&#xff0c;要用USB转TTL给板子供电&#xff0c;留了一个电源输入的四个接口&#xff0c;同时又用排针引出来VCC和GND用于后续其他外设的电源供应&#xff0c;电源配有电源指示灯和保护电容&#xff0c; 当时在焊接的时候把接口处的…

设计模式(二)工厂模式详解

设计模式&#xff08;二&#xff09;工厂模式详解 简单工厂模式指由一个工厂对象来创建实例,适用于工厂类负责创建对象较少的情况。例子&#xff1a;Spring 中的 BeanFactory 使用简单工厂模式&#xff0c;产生 Bean 对象。 工厂模式简介 定义&#xff1a;工厂模式是一种创建…

机房巡检机器人有哪些功能和作用

随着数据量的爆炸式增长和业务的不断拓展&#xff0c;数据中心面临诸多挑战。一方面&#xff0c;设备数量庞大且复杂&#xff0c;数据中心内服务器、存储设备、网络设备等遍布&#xff0c;这些设备需时刻保持良好运行状态&#xff0c;因为任何一个环节出现问题都可能带来严重后…

java项目之电影评论网站(springboot)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的电影评论网站。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 项目简介&#xff1a; 电影评论网站的主要使用者管…

如何在 Ubuntu 24.04 上安装多PHP版本 (从8.3到5.6) ?

PHP 代表超文本预处理器&#xff0c;它仍然是网络的基石&#xff0c;为互联网上很大一部分网站和网络应用程序提供动力。大多数顶级网站和博客工具仍然使用 PHP&#xff0c;如 WordPress, Facebook, Wikipedia 等。如果你在 Ubuntu 24.04 上为 web 开发&#xff0c;安装 PHP 可…