当前位置: 首页 > news >正文

[HDU5685]Problem A

来源:

2016"百度之星" - 资格赛(Astar Round1)

思路:

首先处理出所有前缀的哈希$f$,对于所有的询问$[a,b]$,答案即为$\frac{f[b]}{f[a-1]}$。
哈希值除法可以通过乘逆元实现。
注意循环时不能直接用$strlen(s)$作为判断条件,
因为$strlen()$函数是$O(n)$的复杂度,这样每次循环都会运行一次,就会把$O(n)$的循环退化成$O(n^2)$的。

 1 #include<cstdio>
 2 const int LEN=100001,mod=9973;
 3 char s[LEN];
 4 int f[LEN]={1};
 5 int exgcd(const int a,const int b,int &x,int &y) {
 6     if(!b) {
 7         x=1;
 8         y=0;
 9         return a;
10     }
11     int t=exgcd(b,a%b,y,x);
12     y-=a/b*x;
13     return t;
14 }
15 int main() {
16     int n;
17     while(~scanf("%d",&n)) {
18         scanf("%s",s);
19         for(unsigned i=0;s[i];i++) {
20             f[i+1]=f[i]*(s[i]-28)%mod;
21         }
22         while(n--) {
23             int a,b;
24             scanf("%d%d",&a,&b);
25             int x,y;
26             exgcd(f[a-1],mod,x,y);
27             printf("%d\n",f[b]*(x+mod)%mod);
28         }
29     }
30     return 0;
31 }

 

转载于:https://www.cnblogs.com/skylee03/p/7338983.html

相关文章:

  • 修改asm中的sys密码
  • “Master”连胜世界围棋冠军,谁是幕后智能引擎?
  • JSOUP 超时分析与处理
  • Ubuntu14.04如何用root账号登陆系统
  • 【翻译】关于Apache Flume FileChannel
  • “小小科技女神”与微软DigiGirlz Day的约会
  • 17-思科防火墙:ASA动态NAT:实验一
  • 字符串拼接的双引号和单引号问题,转义字符
  • 2018年7月7日笔记
  • ffmpeg用法(心得体会还有你见过的用法)
  • Spring Cloud Spring Boot mybatis分布式微服务云架构 返回JSON格式
  • 常用命令参考
  • HongCMS 审计学习
  • Mastering KVM Virtualization:第二章 KVM内部原理
  • .bat文件调用java类的main方法
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • C++类中的特殊成员函数
  • canvas 绘制双线技巧
  • CEF与代理
  • es6要点
  • JavaScript设计模式之工厂模式
  • Java应用性能调优
  • js ES6 求数组的交集,并集,还有差集
  • 笨办法学C 练习34:动态数组
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 分类模型——Logistics Regression
  • 技术:超级实用的电脑小技巧
  • 你不可错过的前端面试题(一)
  • 少走弯路,给Java 1~5 年程序员的建议
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 我这样减少了26.5M Java内存!
  • 一个6年java程序员的工作感悟,写给还在迷茫的你
  • 再次简单明了总结flex布局,一看就懂...
  • ​油烟净化器电源安全,保障健康餐饮生活
  • #if 1...#endif
  • #我与Java虚拟机的故事#连载10: 如何在阿里、腾讯、百度、及字节跳动等公司面试中脱颖而出...
  • $(function(){})与(function($){....})(jQuery)的区别
  • ${ }的特别功能
  • (4)STL算法之比较
  • (4.10~4.16)
  • (android 地图实战开发)3 在地图上显示当前位置和自定义银行位置
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (Redis使用系列) SpringBoot中Redis的RedisConfig 二
  • (笔试题)分解质因式
  • (多级缓存)多级缓存
  • (二)Eureka服务搭建,服务注册,服务发现
  • (附源码)ssm码农论坛 毕业设计 231126
  • (排序详解之 堆排序)
  • (十一)手动添加用户和文件的特殊权限
  • (原创) cocos2dx使用Curl连接网络(客户端)
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • (转)为C# Windows服务添加安装程序
  • (转载)在C#用WM_COPYDATA消息来实现两个进程之间传递数据
  • .FileZilla的使用和主动模式被动模式介绍
  • .NET Core/Framework 创建委托以大幅度提高反射调用的性能