11.6-11.8学习总结

1.一道算法题 

链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
 

题目描述

给出三个整数 l,r(l≤r),kl,r(l\leq r),kl,r(l≤r),k,请计算:

(lk+(l+1)k+⋯+rk)mod  2(l^k+(l+1)^k+\dots +r^k)\mod 2(lk+(l+1)k+⋯+rk)mod2

其中,mod\text{mod}mod 代表计算两个数相除后的余数,例如 10 mod 3=1,4 mod 2=010\ \text{mod}\ 3=1, 4\ \text{mod}\ 2=010 mod 3=1,4 mod 2=0。

输入描述:

第一行包含一个整数 T(1≤T≤2⋅105)T(1\leq T \leq 2\cdot 10^5)T(1≤T≤2⋅105),表示测试用例的组数。

对于每组测试用例:

仅输入一行,包含三个整数 l,r(1≤l≤r≤109),k(0≤k≤109)l,r(1\leq l\leq r\leq 10^9),k(0\leq k\leq 10^9)l,r(1≤l≤r≤109),k(0≤k≤109)。

输出描述:

对于每组测试用例:
仅输出一行,包含一个整数,表示答案。

示例1

输入

复制2 1 2 1 2 5 2

2
1 2 1
2 5 2

输出

复制1 0

1
0
#include<bits/stdc++.h>
using namespace std;
int T;
int main(){
    
    cin>>T;
    while(T--){
        int l,k,r;
        cin>>l>>k>>r;
        int count=0;
        if(k==0){
          count=r-l+1;
        }else{
            for(int i=l;i<=r;i++){
                count+=i;
            }
        }
        if(count%2==0){
            cout<<0<<endl;
        }else{
            cout<<1<<endl;
        }
        
    }
   return 0;
}

 刚开始暴力求解,用pow去计算,但时间一直不通过。在学长提示后找到规律。

即一次输入的三个数中几个是偶数,偶数个结果就为0,奇数个结果就为1。注意判断k是否为0。

2. 复习了一些高数知识。求极限中的洛必达、泰勒展开。求和函数。

求和函数的步骤:

1.利用柯西根值法或d'Alembert法先求出收敛半径

2. 根据收敛半径判断在两端点处是否收敛,求出收敛域

3.利用性质3逐项求导,逐项求积分

3.由于专业课较多,周一五节课,周二四节课,周三四节课,暂无其他学习内容。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值