洛谷P2235 [HNOI2002]Kathy函数
// luogu-judger-enable-o2
//minamoto
#include<cstdio>
#include<cstring>
using namespace std;
const int N=;
char s[N];int n;
template<class T>inline bool cmax(T&a,const T&b){return a<b?a=b,:;}
struct node{
int s[N];
void clear(){
memset(s,,sizeof(s));
}
void operator =(int val){
clear();
while(val){
s[++s[]]=val%,val/=;
}
}
void operator =(const char *str){
int len=strlen(str);
s[]=len;
for(int i=;i<len;++i) s[s[]-i]=str[i]-'';
}
void maintain(){
for(int i=;i<=s[];++i) if(s[i]>) s[i+]+=s[i]/,s[i]%=;
while(s[s[]+]){
++s[],s[s[]+]=s[s[]]/,s[s[]]%=;
}
}
void operator +=(const int &a){
s[]+=a,maintain();
}
void operator +=(node a){
cmax(s[],a.s[]);
for(int i=;i<=s[];++i) s[i]+=a.s[i];
maintain();
}
void operator -=(const int &a){
int i=;s[i]-=a;
while(s[i]<){
while(s[i]<) s[i]+=,--s[i+];
++i;
}
if(!s[s[]]) --s[];
}
int mod(){
return s[]&;
}
void div(){
for(int i=s[];i;--i){
if(i>&&s[i]&) s[i-]+=;
s[i]>>=;
}
if(!s[s[]]) --s[];
}
void mul(){
for(int i=;i<=s[];++i) s[i]*=;
maintain();
}
void print(){
for(int i=s[];i;--i) printf("%d",s[i]);
}
}ans,res,num;
int b[N*N];
int main(){
//freopen("testdata.in","r",stdin);
scanf("%s",s);
num=s;
n=;
while(num.s[]){
b[n++]=num.mod(),num.div();
}
if(n>){
int mid=(n-)>>;
ans=-(n&);
for(int i=;i<mid;++i) ans.mul();
ans-=;
res.clear();
for(int i=n-;i>=n-mid-;--i) res.mul(),res+=b[i];
bool flag=true;
for(int i=mid;~i;--i) if(b[i]!=b[n-i-]){flag=(b[i]>b[n-i-]);break;}
if(flag) res+=;
ans+=res;
}else ans=n;
ans.print();
return ;
}
洛谷P2235 [HNOI2002]Kathy函数的更多相关文章
- 洛谷$P$2235 $Kathy$函数 $[HNOI2002]$ 数位$dp$
正解:数位$dp$ 解题报告: 传送门$qwq$ $HNOI$的题从02年就这么神了嘛$QAQ$,,, 嗷对了这题如果看出了一个结论就是个数位$dp$板子,,,?但是结论很神我$jio$得挺难看出来的 ...
- bzoj 1223: [HNOI2002]Kathy函数 数位DP 高精度
1223: [HNOI2002]Kathy函数 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 207 Solved: 90[Submit][Stat ...
- 洛谷 P3742 umi的函数
传送门 思路 \(loceaner\)已经蔡虚鲲到连红题都不会做了 因为有\(special\ judge\)所以我们就可以瞎搞了! 由题目可知,只要有一个\(y[i] > x[i]\)则一定没 ...
- 【模板】矩阵快速幂 洛谷P2233 [HNOI2002]公交车路线
P2233 [HNOI2002]公交车路线 题目背景 在长沙城新建的环城公路上一共有8个公交站,分别为A.B.C.D.E.F.G.H.公共汽车只能够在相邻的两个公交站之间运行,因此你从某一个公交站到另 ...
- 洛谷 P2233 [HNOI2002]公交车路线 解题报告
P2233 [HNOI2002]公交车路线 题目背景 在长沙城新建的环城公路上一共有8个公交站,分别为A.B.C.D.E.F.G.H.公共汽车只能够在相邻的两个公交站之间运行,因此你从某一个公交站到另 ...
- 洛谷P2231 [HNOI2002]跳蚤 [数论,容斥原理]
题目传送门 跳蚤 题目描述 Z城市居住着很多只跳蚤.在Z城市周六生活频道有一个娱乐节目.一只跳蚤将被请上一个高空钢丝的正中央.钢丝很长,可以看作是无限长.节目主持人会给该跳蚤发一张卡片.卡片上写有N+ ...
- [洛谷U62364]三次函数极值
U62364 三次函数极值 题面 给定一个三次函数\(f(x)=a_3x^3+a_2x^2+a_1x+a_0\) 求其极值. 格式 输入包括一行四个整数\(a_3,a_2,a_1,a_0\) 输出包括 ...
- 洛谷P2759 奇怪的函数(log 二分)
题目描述 使得 x^xxx 达到或超过 n 位数字的最小正整数 x 是多少? 输入输出格式 输入格式: 一个正整数 n 输出格式: 使得 x^xxx 达到 n 位数字的最小正整数 x 输入输出样例 输 ...
- 洛谷P2759 奇怪的函数
P2759 奇怪的函数 题目描述 使得 x^x 达到或超过 n 位数字的最小正整数 x 是多少? 输入输出格式 输入格式: 一个正整数 n 输出格式: 使得 x^x 达到 n 位数字的最小正整数 x ...
随机推荐
- 杂项:DCloud.io
ylbtech-杂项:DCloud.io 1.返回顶部 1. DCloud.io,数字天堂(北京)网络技术有限公司. 国内HTML5产业的领军企业,W3C会员,HTML5中国产业联盟发起单位Dclou ...
- linux 学习2 常用命令
1.显示日期的指令: date 2. [Tab]按键---具有『命令补全』不『档案补齐』的功能 3: su和 sudo su用于用户之间的切换. su在不加任何参数,默认为切换到root用户 ...
- PowerDesigner的CDM模型将低驼峰命名法则的每个大写字母前加_符
Option Explicit ValidationMode = True InteractiveMode = im_Batch Dim mdl '当前model '获取当前活 ...
- 读取XML文件的指定节点的值 并转换为Item
cmb_State_Send.ItemsSource = null; XmlDocument doc = new XmlDocument(); doc.Load("D:\\模板\\Works ...
- nfs cron shell 笔记
1.nfs 2.crond 3.shell 1.准备环境: 防火墙 selinux 配置ip 2.安装软件 二进制 源码安装 3.改改配置文件 二进制:/etc/nginx/nginx.conf 源码 ...
- Python之整数,浮点数和布尔类型
整数和浮点数有那个四则运算: 两种类型的数可以直接进行加减,当整数和浮点数进行加减的时候,结果会自动的变为浮点数,其中除法运算是“/”来表示的, 而余数的算术符号是“%”来表示的.如果是为了求除完后的 ...
- struct-config.xml配置文件的解析
//定义了xml文件的版本和编码<?xml version="1.0" encoding="UTF-8"?>//配置文件中的元素必须按照下述doc指 ...
- sort排序应用
private static int SortTestObj2Compare(TestSortClass obj1, TestSortClass obj2) { ...
- 【转】Xcode 清理存储空间
移除 Xcode 运行安装 APP 产生的缓存文件(DerivedData) 只要重新运行Xcode就一定会重新生成,而且会随着运行程序的增多,占用空间会越来越大.删除后在重新运行程序可能会稍微慢一点 ...
- SQL基础E-R图画法
例一.假设有以下表:T1(a1,a2, a3, a5)T2(a3,a4)T3(a5, a6)T4(a3, a5, a7)其中带下划线的属性标识为所在关系模式的主码T1中的a3是参照T2的外码T1中的a ...