牛客网练习赛44-B(快速幂+模拟)
题目链接:https://ac.nowcoder.com/acm/contest/548/B
题意:计算m/n小数点后k1位到k2位,1≤m≤n≤109,1<=k1<=k2<=109,0<=k2-k1<=105,T<=20。
思路:计算小数可以模拟除法一位一位地算,但需要把k1之前的计算出来,不然没法计算k1到k2的,看到数据范围1<=k1<=k2<=109,0<=k2-k1<=105,全部模拟的话肯定会超时,k1之前的是不能直接算,计算结果在n/m中,不访将m乘10k1-1,再对n取模,这里需要用快速幂,此时再模拟除法计算k2-k1+1次就可以了。另外需要用long long,不然会wa。
AC代码:
- #include<bits/stdc++.h>
- using namespace std;
- int T,k1,k2;
- long long m,n;
- void QuickPower(){
- long long b=;
- long long a=k1-;
- while(a){
- if(a&)
- m=(m*b)%n;
- a>>=;
- b*=b;
- b%=n;
- }
- }
- int main(){
- scanf("%d",&T);
- while(T--){
- scanf("%lld%lld%d%d",&m,&n,&k1,&k2);
- if(m==n){
- for(int i=;i<=k2-k1;++i)
- printf("");
- printf("\n");
- continue;
- }
- QuickPower();
- for(int i=;i<=k2-k1;++i){
- m*=;
- for(int j=;j>=;--j){
- long long tmp=j*n;
- if(tmp<=m){
- printf("%d",j);
- m-=tmp;
- break;
- }
- }
- }
- printf("\n");
- }
- return ;
- }
牛客网练习赛44-B(快速幂+模拟)的更多相关文章
- 牛客网练习赛18 A 【数论/整数划分得到乘积最大/快速乘】
链接:https://www.nowcoder.com/acm/contest/110/A 来源:牛客网 题目描述 这题要你回答T个询问,给你一个正整数S,若有若干个正整数的和为S,则这若干的数的乘积 ...
- 牛客网练习赛23 F 托米的游戏
链接:https://www.nowcoder.com/acm/contest/156/F 来源:牛客网 题目描述 题目背景编不下去了 托米有一棵有根树 T, 树根为1,每轮他会在剩下的子树中等概率一 ...
- 牛客网练习赛28A
题目链接:https://www.nowcoder.com/acm/contest/200/A 链接:https://www.nowcoder.com/acm/contest/200/A来源:牛客网 ...
- 牛客网练习赛26B(简单的dp)
题目链接:https://www.nowcoder.com/acm/contest/180/B 链接:https://www.nowcoder.com/acm/contest/180/B来源:牛客网 ...
- 牛客网练习赛34-D-little w and Exchange(思维题)
链接:https://ac.nowcoder.com/acm/contest/297/D 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言5242 ...
- 牛客网练习赛25 C 再编号
链接:https://www.nowcoder.com/acm/contest/158/C来源:牛客网 定义对 a 的再编号为 a' ,满足 . 现在有 m 次询问,每次给定 x,t ,表示询问经过 ...
- 牛客竞赛(gcd,快速幂)
一.最大公约数和最小公倍数问题 题目描述: 输入2个正整数x0,y0(2<=x0<100000,2<=y0<=1000000),求出满足下列条件的P,Q的个数. 条件:1.P, ...
- 牛客网练习赛t2(线段树)
题解: 好像因为他说了 数据范围全部在ll以内 所以直接暴力就可以过了 比较正常是用线段树来维护 洛谷上有道模板题是支持加,乘,区间和 而这题还多了区间平方和的操作 按照那题的操作 我们维护的时候保证 ...
- 牛客网练习赛7-B-购物
在遥远的东方,有一家糖果专卖店. 这家糖果店将会在每天出售一些糖果,它每天都会生产出m个糖果,第i天的第j个糖果价格为C[i][j]元. 现在的你想要在接下来的n天去糖果店进行选购,你每天可以买多个糖 ...
随机推荐
- LinkedHashMap结构get和put源码流程简析及LRU应用
原理这篇讲得比较透彻Java集合之LinkedHashMap. 本文属于源码阅读笔记,因put,get调用逻辑及链表维护逻辑复杂(至少网上其它文章的逻辑描述及配图,我都没看明白LinkedHashMa ...
- 使用jquery刷新当前页面、刷新父级页面
如何使用jquery刷新当前页面 下面介绍全页面刷新方法:有时候可能会用到 window.location.reload(); //刷新当前页面.(我用的这个一个,非常好) parent.locati ...
- ASP.net 完整登录流程
登录流程 using System; using System.Collections.Generic; using System.Linq; using System.Web; using Syst ...
- java实现生成二维码
package com.cn.test; import java.awt.Graphics2D; import java.awt.geom.AffineTransform; import java.a ...
- Oracle保留两位小数的函数
1.最终保存成字符串类型 使用to_char()函数 // 其9代表:如果存在数字则显示数字,不存在则显示空格 // 其0代表:如果存在数字则显示数字,不存在则显示0,即占位符 // 其FM代表:删除 ...
- spark1.6.1 on yarn搭建部署
注:本文是建立在hadoop已经搭建完成的基础上进行的. Apache Spark是一个分布式计算框架,旨在简化运行于计算机集群上的并行程序的编写.该框架对资源调度,任务的提交.执行和跟踪,节点间的通 ...
- 修改window本地hosts文件,修改域名指向
Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Host ...
- Delphi 不使用自带模板创建服务
program Project1; uses Windows, WinSvc; const ServiceName: pchar = 'SnowWings Service'; DisplayName: ...
- Hibernate 再接触 Hello world 模拟Hibernate
没有Hibernate以前 Cilent 客户端 new出一个对象 然后执行JDBC 然后这样的访问数据库并不是面向对象语言 使用Hibernate以后 Cilent new 出一个对象后 访问配置文 ...
- Structs复习 Result第二部分
1.动态结果 2.web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app versio ...