【SSL_2020.10.26】まほう部落

2024-01-30 03:32
文章标签 ssl 26 部落 2020.10

本文主要是介绍【SSL_2020.10.26】まほう部落,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

まほう部落


在这里插入图片描述

解题思路

作为这套题中第二难的题目,这竟然是第一题…
这道题看起来很简单,然后我们看一眼数据:哇,竟然是 n < = 1000000000 n<=1000000000 n<=1000000000
然而这个数据只能做 O ( log ⁡ 2 n ) O(\log_2n) O(log2n) ,我们又仔细看了一眼题目:这很明显是等比数列求和。等比数列求和的公式我们都知道啦,就是:
S n = a 1 ( 1 − q n ) 1 − q 或 S n = a 1 − a n q 1 − q S^n=\frac{a_1(1-q^n)}{1-q} 或S^n=\frac{a_1-a_nq}{1-q} Sn=1qa1(1qn)Sn=1qa1anq
其中的 q n q^n qn 我们就可以用 快速幂 来求,这恰好是 log ⁡ 2 n \log_2n log2n 的算法!
然而,下面的我就也不是很懂了:逆元
逆元好像就是在 a b \frac{a}{b} ba % c c c 的时爆精度的情况,所以我们要将除法转换成乘法…… (口胡不下去了)

code

#include<iostream>
#include<cstdio>
#define ll long long
using namespace std;const ll mod=1000000007;ll n;ll ksm(ll x,ll y)
{ll ans=1;while(y){if(y&1)ans=ans*x%mod;x=x*x%mod;y>>=1;}return ans;
}int main()
{cin>>n;cout<<(ksm(3,n+1)-1)*(mod+1)/2%mod<<endl;
}

这篇关于【SSL_2020.10.26】まほう部落的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/658983

相关文章

SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED]

python 在使用websocket 或者request可能会报这个错误,这是证书认证中的错误,如果不是对安全要求高的开发,可以使用下面的方式使request与websocket正常访问   在request中修改一个参数即可正常使用: textmod = {     "ID": "T214",      "Longitude": 123.6355038767646,      "Lati

安全科普:理解SSL(https)中的对称加密与非对称加密

今天刚好为站点的后台弄了下https,就来分享我了解的吧。 密码学最早可以追溯到古希腊罗马时代,那时的加密方法很简单:替换字母。 早期的密码学:   古希腊人用一种叫 Scytale 的工具加密。更快的工具是 transposition cipher—:只是把羊皮纸卷在一根圆木上,写下信息,羊皮纸展开后,这些信息就加密完成了。 虽然很容易被解密,但它确实是第一个在现实中应用加密的

什么是慢查询——Java全栈知识(26)

1、什么是慢查询 慢查询:也就是接口压测响应时间过长,页面加载时间过长的查询 原因可能如下: 1、聚合查询 2、多表查询 3、单表数据量过大 4、深度分页查询(limit) 如何定位慢查询? 1、Skywalking 我们可以通过 Skywalking 来看到是哪个请求的哪个查询的时间执行时间过长。 2、Mysql 自带的慢日志查询 慢查询日志记录了所有执行时间超过指定参数(long

驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接的解决方法

在连接数据库的时候出现了下面图面中的错误,尝试集中方法后终于解决了这个问题。 1.修改驱动程序版本 出现这种错误可能是因为你的驱动程序版本不兼容,我们可以尝试修改版本解决。而我们的驱动程序往往是以依赖的形式导入,因此可以在maven仓库查找你的数据库对应的驱动程序,选择一个数据库能够兼容的版本导入。 maven仓库官网:https://mvnrepository.com/ 2.在 VM opt

【Rust日报】 2019-03-26

Sonic 这是一个牛逼的库,故而再发一次。很多人说过,Rust 在大数据领域其实是一个很有潜力的竞争者,但是在被 Java/C++ 垄断的领域,后来者 Rust 如何能在已经非常成熟的这个领地抢占吞噬一块自己的根据地。只能靠两点了: 高性能。同等数据量的情况下,速度提高一倍到数十倍;低内存占用。同等数据量的情况下,内存占用少数十倍。 而 Sonic 就是这样一个可以逐渐替换 Elasticse

【Rust日报】 2019-05-26:切片索引检查导致的3倍性能下降问题一例

漫游 Tox-rs,第一部分 长文预警。Tox 是一个分布式的P2P,加密传输,易于使用的基于DHT的网络。 Tox 原来是个C项目,作者用Rust通过审视发现,实现里面有不少漏洞,易被攻击。所以他用Rust重写了它。就是上面那个项目地址。现在作者,开始整理这几年的工作,开始生成文档。 Read More 切片索引检查导致的3倍性能下降问题一例 作者发现下面这两片代码: pub fn

【Rust日报】2020-10-26 Box 即将支持自定义的 allocators

Box 即将支持自定义的 allocators 下面的 pull request 合并之后, Box 将会支持自定义的 allocators. Box 的定义将会从 Box<T> 变成 Box<T, A = Global>. https://github.com/rust-lang/rust/pull/77187 Rust 的 Hyper 会让 Curl 变的更安全 curl 是使用 C 语言编

【Rust日报】2021-01-26 太素桌面系统:基于RISC-V架构的Rust系统内核

太素桌面系统:基于RISC-V架构的Rust系统内核(十二) 编写“太素”桌面操作系统的文章更新到第十二期。本期文章在前文成果的基础上,开始编写一个简单的桌面系统结构。这包括桌面、窗口和其中的控件,以及文字标签的显示方式。 太素OS是一个RISC-V架构、Rust编写的操作系统内核。作者在系列文章中介绍,“太素”的名字来源于道家五太之一,可以演化万物。这个项目实现了包含图形处理器在内的外部设备控

Python中发邮件(明文/SSL/TLS三种方式)

#!/usr/bin/python# coding:utf-8 import smtplibfrom email.MIMEText import MIMETextfrom email.Utils import formatdatefrom email.Header import Headerimport sys#设置默认字符集为UTF8 不然有些时候转码会出问题default_en

【第26章】Vue实战篇之用户信息修改

文章目录 前言一、界面搭建1. UserInfo.vue 二、更新用户信息1.绑定用户信息2.更新接口3.更新事件3.1 添加事件3.2 触发事件 总结 前言 这里来学习用户信息的修改。 一、界面搭建 1. UserInfo.vue <script setup>import { ref } from 'vue'const userInfo = ref({id: