Tinkoff Internship Warmup Round 2018 and Codeforces Round #475 (Div. 2) C. Alternating Sum

别再盲调PID了!手把手教你用VOFA+实时可视化电机速度曲线(附STM32F4源码) 本文详细介绍了如何使用VOFA+工具实现PID参数的可视化调试,帮助开发者从盲调转向精准调优。通过实时可视化电机速度曲线,结合STM32F4源码示例,展示了如何高效调试Kp、Ki、Kd参数,解决响应慢、超调等常见问题,大幅提升电机控制系统的性能。 阅读详情

C. Alternating Sum

这里写图片描述

传送门

这题,咋说呢,这位同学,等比数列了解一下。
首先第一点在运算的时候要用快速幂处理一下,基本操作。
之后根据给出的条件我们可以发现两个连续的段有 bkak b k a k 次不同
端的数量是 n+1k n + 1 k
由上我们可以很容易就得知结果为 ans=∑k−1i=0sian−ibi∗ a n s = ∑ i = 0 k − 1 s i a n − i b i ∗ ans=∑(n+1−k)ki=0bkak a n s = ∑ i = 0 ( n + 1 − k ) k b k a k
或者是 ans=∑k−1i=0sian−ibi∗ a n s = ∑ i = 0 k − 1 s i a n − i b i ∗ bkakn+1k−1bkak b k a k n + 1 k − 1 b k a k

#include<cstdio>
#include<iomanip>
#include<cstring>
#include<algorithm>
#include<iostream>
#include<cmath>
#include<vector>
#include<set>
#include<queue>
#include<limits.h>
#include<string.h>
#include<map>
#include<list>
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;

#define inf int(0x3f3f3f3f)
#define mod int(1e9+9)
#define eps double(1e-6)
#define pi acos(-1.0)
#define lson  root << 1
#define rson  root << 1 | 1

char s[200005];

ll n,a,b,k;


ll cal(ll x,ll n)
{
    if(x<0)
    {
        x+=mod;
        x%=mod;
    }
    ll num=x,ans=1;
    for(int i=0; i<64; i++)
    {
        if(1ll<<i&n)
            ans=ans*num%mod;
        num=num*num%mod;
    }
    return ans;
}

ll numa;
ll numb;
ll aa;
ll bb;
ll a1;

void solve()
{
    ll num=cal(aa,k)*cal(b,k)%mod;
    a1+=mod;
    a1%=mod;
    ll sum=0;
    if(num==1)
        sum=(n+1)/k*a1%mod;
    else
        sum=a1*(1-cal(num,(n+1)/k)+mod)%mod*cal(1-num,mod-2)%mod;
    sum+=mod;
    sum%=mod;
    cout<<sum<<endl;
}
int main()
{
    ios::sync_with_stdio(false);
    cin.tie();
    cin>>n>>a>>b>>k;
    cin>>s;
    ll numa=cal(a,n);
    ll numb=1;
    ll aa=cal(a,mod-2);
    ll bb=cal(b,mod-2);
    ll a1=0;
    for(int i=0; i<k; i++)
    {
        if(s[i]=='+')
            a1=(a1+numa*numb%mod)%mod;
        else
            a1=(a1-numa*numb%mod+mod)%mod;
        numa=numa*aa%mod;
        numb=numb*b%mod;
    }
    //solve();
    ll num=cal(aa,k)*cal(b,k)%mod;
    a1+=mod;
    a1%=mod;
    ll sum=0;
    if(num==1)
        sum=(n+1)/k*a1%mod;
    else
        sum=a1*(1-cal(num,(n+1)/k)+mod)%mod*cal(1-num,mod-2)%mod;
    sum+=mod;
    sum%=mod;
    cout<<sum<<endl;
}
insightface scrfd人脸检测测试 pip install mmdet 自动安装mmcv win10上可以,服务器上没成功 阅读详情

相关推荐

国腾|GM8775C替换TC358775/MIPI转双通道LVDS

1 产品概述 GM8775C 型DSI 转双通道 LVDS 发送器产品主要实现将MIPI DSI 转单/双通道 LVDS 功能,MIPI 支持 1/2/3/4 通道可选,最大支持 4Gbps 速率。LVDS时钟频率最高154MHz,最大支持视频格式为 FULL HD(1920 x 1200)。 该芯片主要应用于手持设备、双屏显示,大屏幕显示等应用需求。 2 产品特征 a) I/0电源电压:1.8V /3.3V; b) core 电源电压...

Vasse的博客 1073

Tinkoff Internship Warmup Round 2018 and Codeforces Round #475 (Div. 2) C.Alternating Sum 题意+解析+ 答案

C. Alternating Sumtime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given two integers aa and bb. Moreover, you are given a sequence s0,s1,…,...

feifancaicai的博客 940

Minitab田口设计实战:如何用正交试验优化遗传算法参数(附完整操作步骤)

本文详细介绍了如何利用Minitab田口设计进行遗传算法参数优化,通过正交试验方法显著提升效率。文章涵盖实验设计、Minitab操作步骤、结果分析及高级技巧,帮助工程师快速掌握这一工业级优化技术,实现算法性能的显著提升。

wind6的博客 865

Codeforces 964C Alternating Sum

You are given two integers a and b. Moreover, you are given a sequence s0,s1,…,sn. All values in s are integers 1 or −1. It's known that sequence is k-periodic and k divides n+1. In other words, for e...

包子不卖包子 1169

【ComfyUI】FluxKontext 人物服装平铺重构

本文介绍了一个基于ComfyUI的高保真服装语义提取工作流,利用FluxKontext模型实现人物服装结构的精准抽离与平铺展示。工作流包含图像输入、潜空间处理、语义引导和生成输出四个阶段,通过Flux_Kontext_dev_fp8主模型、双CLIP文本编码和VAE转换等核心组件,配合FluxKontextImageScale、ReferenceLatent等节点完成服装结构的稳定提取。流程中CLIPTextEncode负责语义解析,FluxGuidance强化引导力度,KSampler执行最终生成,最终输

Mr数据杨 957

【原理图PCB专题】Cadence 17.4版本导出excel版本坐标文件

Cadence 17.4版本导出坐标文件往往都是txt格式,并且无标题、导出时间、导出设计工程多名称等信息。那么怎么样才能导出有带这些信息的excel版本并格式好看的坐标文件呢?

一点硬件 2763

Alternating Sum CodeForces - 964C

CodeForces - 964C题意 : 给定一个公式,给你一个k个字符,表示前k个的加减规则(且以k为循环),然后就是让你求这段长度中的值,结果对1e9+9取余。思路 : 快速幂!!!!!! :  费马小定理取逆元            #include&lt;cstdio&gt; #include&lt;cmath&gt; #include&lt;iostream&gt; #include&...

啥也不会呀 339

ARM功耗管理软件之DVFS&AVS

思考:功耗管理软件栈及示例?WFI&WFE?时钟&电源树?DVFS&AVS?

AI-安全-功耗 1230

Codeforces Round #475 (Div. 2) C. Alternating Sum

C. Alternating Sum题目链接题意:给出n,a,b,k,第二行给出长度为k一个字符串s,s[i]='+'或者s[i]='-',求  n∑i=0sian−ibi∑i=0nsian−ibi 在模109+9109+9下的值,其中s[i]=s[i%k];思路:先将字符串s的长度进行扩展到大于int(1e4)的k倍长度的字符串s,将求和的n+1个数分割成(n+1)/k份,剩下的部分再暴力求解。...

brandong 381

2025年华为杯中国研究生数学建模竞赛A题 通用神经网络处理器下的核内调度问题 思路+代码

针对通用神经网络处理器下的核内调度问题,我们提出了一套基于分层优化框架的系统性解决方案。该方案首先通过缓存敏感的启发式拓扑排序算法生成最小峰值缓存占用的调度序列,在满足计算图依赖关系的前提下优先选择能够释放或减少缓存占用的节点;随后采用最佳适应算法进行精细化的缓存分配,结合LRU换出策略动态管理多级缓存空间,最小化额外数据搬运量;最后引入多目标遗传算法进行联合优化,在严格控制数据搬运量不显著增加的前提下,通过关键路径分析、流水线并行和数据预取等技术进一步优化总执行时间。

YOLO 785

Python 爬虫教程:财经新闻实时抓取(最新资讯 + 关键词提取)

在当今信息爆炸的时代,财经新闻的实时获取对于投资者、研究人员以及普通大众来说都具有重要的价值。通过 Python 爬虫技术,我们可以高效地抓取财经新闻,并提取其中的关键信息,以便更好地进行数据分析和决策支持。本文将详细介绍如何使用 Python 编写一个财经新闻实时抓取系统,并结合关键词提取技术,帮助读者快速掌握 Python 爬虫的核心技能。

yansideyucsdn的博客 1049

Tinkoff Internship Warmup Round 2018 and Codeforces Round #475 (Div. 2) C.Alternating Sum

题目;这里写链接内容 题意:求 这里si是给定的一串正负号组成的字符,表示1~k项的符号,n+1可以整除k,即所求数列的符号是k循环的,a[i]=a[i+k]。 思路:由题意,很明显,这是一个等比数列,先用快速幂求出前k项的和a1,即等比数列的首项,n+1/k即是长度,套用等比数列求和公式即可。要用到逆元。 #include &lt;stdio.h&gt; #include &lt;a...

swust5120160705的博客 342

昇腾,Ascend,NPU,mindie,镜像,部署vllm:第5篇,昇腾环境下部署蒸馏版deepseek-r1,并在dify中注册模型供应商

这两天没少折腾deepseek-r1。之前在A100上用ollama部署了一份DeepSeek-R1-Distill-Qwen-32B,感觉真的特别慢。现在,再用昇腾部署一遍,看看速度能不能更快。p.s. 类似的内容其实已经写了很多遍了。但感觉之前写得都太碎,不够顺畅。接着新模型写篇长文,把能包括的都包括进来。这样大家也不需要到处翻来翻去。

xiezhipu的博客 2450

Tinkoff Internship Warmup Round 2018 and Codeforces Round #475 (Div. 2) C.Alternating Sum(等比数列求和)

题目链接;点击打开链接题目大意:给出一个数列s,其中的元素为s1,s2,s3......sn。元素要么是1(用‘+’表示),要么是-1(用‘-’表示)这个数列以k个数为一个周期,且n能被k整除。给出两个数a,b,求题目思路:很显然,这个求和公式中,相邻两项的比值的绝对值都是确定,都是b/a。那么这道题首先想到的就是等比数列求和公式。但是因为si这个系数,可能是正,可能是负,所以不能直接等比数列求和...

qq_36782366的博客 257

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

C. Alternating Sum(数论——等比数列公式与变换)

题目链接:http://codeforces.com/contest/964/problem/C 题意:给你四个整数和一个字符串,求数列和: 膜1e9+9的正数结果 n——数列项数从第0项到第n项 a、b如上式子 k——数列的周期,k可整除n+1 字符串s,表示项数的正负 算法:数论——等比数列 思维素材:需要得到正数结果时,最好把公式化成方便得到正数的形式 #include &l...

凝望的博客 476

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Tinkoff Internship Warmup Round 2018 and Codeforces Round #475 (Div. 2) A. Splits 水题 题意+解析+ 答案

A. Splitstime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputLet's define a split of n as a nonincreasing sequence of positive integers, the sum of whi...

feifancaicai的博客 609

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

zoj 3813 Alternating Sum

题意:

A Cube Master 624

Codeforces Round #286 (Div. 1) C、D

C:题目中步数看似很多,其实最多就增长250步左右,因为移动的步数为1 + 2 + 3 + .. n,所以大概只会有sqrt(n)步,所以dp[i][j]表示在i位置,增长为j步的值,然后转移即可 D:这题其实对于一个联通块,最多只需要n条边,最少要n - 1条,那么判断的条件,就是这个联通块是否有环,利用拓扑排序去判即可 代码: C: #include #include #inclu

Remilia's 1469

Codeforces 964C - Alternating Sum(等比数列 + 逆元)

注意判定公比为1的情况, 再求逆元后,并非为a == b,而应该求出q值进行判断#include &lt;iostream&gt; #include &lt;cstdio&gt; #include &lt;cstring&gt; #include &lt;cmath&gt; #include &lt;algorithm&gt; using namespace std; typedef long ...

%%% 307

Tinkoff Internship Warmup Round 2018 and Codeforces Round #475 (Div. 2) (964)ABCD

比赛链接A. Splits给出一个数字n,把它分裂成多个数相加,对于分裂得到的序列,其权重设为序列中第一个数字有多少个。问n能分成多少种不同权重的序列。比赛时大胆猜结论结果为 n/2+1现在分析一下,首先要分出多个相同数字,设k为权重,那么第一个数字就是n/k(k=1,2,3...)(这里的除法是算术除法)所以只要知道k有多少就行了。由于是算术除法,当k&gt;=n/2时,n/k=1。k最大只能到...

xiuya19的博客 307

C. Alternating Sum (逆元+等比数列+快速幂)

题目链接:C. Alternating Sum 题意:就是给出一个n+1长度周期为k的序列,求按照所给公式求和,输出答案。 思路:按周期求,先求出第一个周期 轻易可以推出,每个周期的和是一个等比数列,公比q为(b/a)^k,因为这些数字都比较大,等比数列求和公式a*(q^n-1)*(q-1)^-1;涉及到除法运算,需要用到逆元(逆元素是指一个可以取消另一给定元素运算的元素,在数学里,逆...

PinappleMi的博客 501

Codeforces Round #475 (Div. 2) C. Alternating Sum(求逆元)

C. Alternating Sum time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output You are given two integers a and b. Moreover, you are given a ...

城南的花 368

Tinkoff Internship Warmup Round 2018 and Codeforces Round #475 (Div. 2)C. Alternati(费马小定理求逆元+等比数列求和)

C. Alternating Sumtime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given two integers aa and bb. Moreover, you are given a sequence s0,s1,…,...

albertluf的博客 513

codeforces 964 C. Alternating Sum(逆元、数学)

题目链接:http://codeforces.com/contest/964/problem/C思路:这是一个以k为周期的函数,可以先求出第一个周期的和,而之后的周期等于是前一个周期乘上b/a的k次方,b/a的k次方,可以用逆元加费马小定理求出来。。。然后就是一个等比求和了。#include &lt;cstdio&gt; #include &lt;cstdlib&gt; #include &lt;...

llmxby 298

Codeforces964 C. Alternating Sum

题目链接:点击打开链接题目大意:给一个序列只含'-'和 '+',长度为K,扩展成长度N+1(k为循环节长度),一个算式,(a +b)^n,去掉组合数,该位置的符号如果是+则为正,反之为负,求结果%mod的值(一定为正)。(这写的什么东西啊!)解题思路:先求出前k个加起来的ans,这时候可以想到用等比数列来求后面的, 公比q = (b ^k)/(a ^ k),由等比数列的前n项和公式得到最终答案就是...

swunHJ的博客 398

Codeforces Round #471 div.2 ABC题解

其实我是震惊的 A B C 其实我是震惊的 我被A题卡住了,21分钟才过.B题倒是挺快,29分钟.然后我一直想C和D. C是个数论题我觉得还能做,D我不会. 但是我发现1个多小时过去了C题做出的人数都没有超过100,这令我非常惊讶. 这时我点到Friends Standing,发现某巨佬B题被hack了. 我去注意B题的题意,发现题目中说必须要把字符串分成两个子串使...

Fuko_Ibuki的博客 1万+
上一篇: 今日头条杯2018湖北省大学生程序设计竞赛(网络赛)The 2018 Hubei Collegiage Programming Contest Online
下一篇: EOJ Monthly 2018.4部分题解(陆续更新全题解)
Murphyc
博客等级 码龄10年 13粉丝 86原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值