#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h> char str[];
///注意在ans+=f[g]*f[g];中,ans是long long,所以运算的两个数至少有一个数是long long,所以f数组选择的类型是长整形
long long f[]; int main()
{
long n,g,pre,len,i,j;
long long ans,t,s;
scanf("%ld",&n);
for (j=;j<=n;j++)
{
g=;
pre=-;
ans=;
scanf("%s",str);
len=strlen(str);
for (i=;i<len;i++)
if (str[i]!=str[i+])
{
g++;
f[g]=i-pre;
ans+=f[g]*f[g];
pre=i;
}
if (g==)
printf("Case #%ld: %lld\n",j,ans);
else
{
t=;
for (i=;i<g;i++)
{
//(f[x]+1)*(f[x]+1)+(f[y]-1)*(f[y]-1)-f[x]*f[x]-f[y]*f[y]=2*f[x]-2*f[y]+2
s=abs(f[i]-f[i+]);
if (s>t)
t=s;
}
t=t*+;
for (i=;i<g;i++)
if (f[i]==)
{
s=(f[i-]++f[i+])*(f[i-]++f[i+])-f[i-]*f[i-]--f[i+]*f[i+];
if (s>t)
t=s;
}
printf("Case #%ld: %lld\n",j,ans+t);
}
}
return ;
}

hdu5583的更多相关文章

  1. HDU5583 Kingdom of Black and White

    Kingdom of Black and White Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Ja ...

  2. hdu-5583 Kingdom of Black and White(数学,贪心,暴力)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5583 Kingdom of Black and White Time Limit: 2000/1000 ...

随机推荐

  1. MFC如何为程序添加图标

    1.找几幅Ico格式的图片,可以在电脑中查找.ico一般都会找到.然后将ico文件放在工程目录下的res文件夹下. 2.点击菜单栏->编辑->添加资源->导入,选择res文件夹中将要 ...

  2. MFC如何为程序添加标题

    1.在CMainFrame类中找到函数PreCreateWindow,在该函数中添加 cs.style &=~FWS_ADDTOTITLE;//去掉窗口的 自动标题 属性. 这句很重要不然的话 ...

  3. STM32之HAL库、标准外设库、LL库

    标准外设库(Standard Peripherals Library),应该是最早推出的版本,以前用STM32F103的时候,用的多 HAL(Hardware Abstraction Layer),硬 ...

  4. [CF981F]Round Marriage[二分+霍尔定理]

    题意 洛谷 分析 参考了Icefox 首先二分,然后考虑霍尔定理判断是否有完美匹配.如果是序列的话,因为这里不会出现 \(j<i,L(i)<L(j)\) 或者 \(j<i,R(i)& ...

  5. TICTOC: Header Only C++ Timer

    感觉最近的更新频率略高啊-哈哈- 这次的带来的是一个十分简单便利的C++计时库. 项目地址:https://github.com/miaoerduo/tictoc 欢迎Start和提MR. 项目中有详 ...

  6. 11、Dockerfile实战-Tomcat

    一.编写Dockerfile 具体步骤这里不再细说,直接看Dockerfile文件: FROM centos:7 MAINTAINER QUNXUE ENV VERSION=8.0.46 RUN yu ...

  7. spring cloud资料汇总

    https://www.cnblogs.com/Java3y/p/9540386.html#commentform --非常好的文章,里面还有海量学习资料

  8. PHP 观察者模式和php实现 Observer Pattern

    观察者模式: 观察者模式(Observer Pattern):定义对象间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新.观察者模式又叫做发布-订阅(Publ ...

  9. 《实时控制软件设计》之Automation Studio开发环境

    Automation Studio是贝加莱公司的控制软件开发平台,软件可运行在贝加莱的基于PC的控制器上,基于Automation Studio我们可构建一个完整的控制软件构建.测试和仿真运行平台.本 ...

  10. 第三个Sprint ------第一天

    Github账户: 账户名称:kangqu Github地址: https://github.com/kangqu/country.git Github网站全英文,表示鸭梨山大...