题意:从一个小数的小数部分,计算下面式子的最大值


其中a和b是给定的参数,p是循环结已知的长度,l是循环结的长度
例如对于abab,p是4,l就是2

思路
贪心的来说我们要让p更大,l尽可能小,所以我们从给的小数的最后一位开始枚举,遍历的小数为作为p,那么l就是循环结的长度,对于循环结长度,我们可以用kmp求得。

#include<bits/stdc++.h>
using namespace std;
const int N=1e7+5;
int ne[N];
char s[N];
void getNext(){int i=0,j=-1;ne[i]=j;int len=strlen(s);while(i<len){if(j==-1 || s[i]==s[j]) ne[++i]=++j;else j=ne[j];}
}
int main(){int a,b;while(~scanf("%d%d",&a,&b)){scanf("%s",s);reverse(s,s+strlen(s));getNext();long long ans=-1e18;for(int i=0;s[i]!='.';i++){ans=max(ans,1ll*(i+1)*a-1ll*b*(i+1-(ne[i+1])));}cout<<ans<<endl;}return 0;
}

2019秦皇岛CCPC J - MUV LUV EXTRA相关推荐

  1. J - MUV LUV EXTRA

    J - MUV LUV EXTRA 思路: k m p kmp kmp. 求小数点后面的翻转字符串的循环节和循环长度. 注意循环节长度为1时,答案是 a − b a-b a−b. 时间复杂度: O ( ...

  2. 39行代码AC_HDU-6740 2019CCPC秦皇岛 J MUV LUV EXTRA(KMP变形)

    励志用少的代码做高效表达 Problem description One day, Kagami Sumika is stuck in a math problem aiming at calcula ...

  3. 2019ccpc秦皇岛J MUV LUV EXTRA(KMP扩展)

    Problem Description 鉴纯夏是一名成绩不太好的高中生.一天她在数学考试中碰到了一道求某条线段长度的问题.因为她并不会做这道题,所以她准确地作图后用尺子量出了这条线段的长度.不幸的是, ...

  4. J. MUV LUV EXTRA (KMP求最小循环节)

    原题链接 枚举后缀,KMP求每种后缀的最小循环节,更新最优解. #include <bits/stdc++.h> #define int long long using namespace ...

  5. J - MUV LUV EXTRA(KMP)

    感受 思 路 很 简 单 , 就 是 不 知 道 k m p 还 可 以 求 最 小 循 环 节 长 度 思路很简单,就是不知道kmp还可以求最小循环节长度 思路很简单,就是不知道kmp还可以求最小循 ...

  6. 2019 CCPC 秦皇岛: MUV LUV EXTRA

    MUV LUV EXTRA (本篇主要内容,kmp求最短循环节) 题目传送门: MUV LUV EXTRA 题意: 给你一个字符串和两个整数a和b.在小数点后,找到一个循环节 l,循环长度为p.求 a ...

  7. MUV LUV EXTRA 2019CCPC秦皇岛站J

    MUV LUV EXTRA 2019CCPC秦皇岛站J (hdu重现赛) 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6740 思路 kmp求循环节 ...

  8. 2019CCPC秦皇岛赛区 hdu 6740 MUV LUV EXTRA(KMP next数组)

    传送门 MUV LUV EXTRA Time Limit: 2000/1500 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Othe ...

  9. HDU-6740-J. MUV LUV EXTRA

    HDU-6740-J. MUV LUV EXTRA 题目 MUV LUV EXTRA Time Limit: 2000/1500 MS (Java/Others) Memory Limit: 2621 ...

最新文章

  1. session.invalidate()
  2. 【转】C# 二维码生成
  3. AngularJS学习篇(十九)
  4. 吴恩达深度学习课程deeplearning.ai课程作业:Class 4 Week 3 Car detection
  5. entity、model和domain三者区别
  6. SIMD via C#
  7. video 微信 标签层级过高_什么是微信小程序二级分销系统?如何玩转?
  8. discuz mysql data_discuz调取数据库数据
  9. shell 命令管理tomcat
  10. 2020MPAcc,管理类联考网课,书籍资源推荐!
  11. HTML5从入门到精通笔记
  12. 线性定常系统的离散化
  13. ant构建异常UNEXPECTED TOP-LEVEL EXCEPTION com.android.dx.cf.iface.ParseException解决
  14. 支付宝客户端拉起支付
  15. 工作三年的java程序员修行之路
  16. 诗词乱拼 zz from smth.org
  17. 小白都能学会的Spring Boot!
  18. php mail 163邮箱,使用PHPMail发送邮箱(163邮箱为例)
  19. IFRS9 或中国版IFRS9 会计准则22号的内容和实施概述
  20. 调试Kubernetes集群中的网络停顿问题

热门文章

  1. python输入框_python 输入框
  2. 利用prolog实现电影助手
  3. 葛洲坝电力集团责任有限公司携手蓝天梦共度新的开始
  4. 每天清电脑垃圾 删除每天缓存的临时文件Temp
  5. VIEWGOOD(远古)校园网多媒体系统的搭建
  6. 关于《流浪地球》炸裂的口碑,机器学习竟然是这样评价的————Python文本情感极性分析详解(上)
  7. Python学习之环境搭建
  8. Java第二次实验——类的层次结构(1)
  9. html获取焦点和失去焦点,js获取焦点和失去焦点
  10. 为什么java里面3*0.1=0.30000000000000004,而4*0.1=0.4?