BestCoder Round #88

本文提供了HDU5907 FindQ和HDU5908 AbelianPeriod两道题目的详细解答过程,分别涉及寻找特定字符的连续子串和确定数字串的阿贝尔周期,附带高效算法实现。

1.hdu5907                              

                                                           Find Q

                                                                              Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 262144/131072 K (Java/Others)
Problem Description

Byteasar迷恋上了'q'这个字母。

在他眼前有一个小写字母组成的字符串S,他想找出S的所有仅包含字母'q'的连续子串。但是这个字符串实在是太长了,你能写个程序帮助他吗?

Input

输入的第一行包含一个正整数T(1≤T≤10),表示测试数据的组数。

对于每组数据,包含一行一个小写字母组成字符串S,保证S的长度不超过100000。

Output

对于每组数据,输出一行一个整数,即仅包含字母'q'的连续子串的个数。

Sample Input

2
qoder
quailtyqqq
Sample Output
1
7

         这道题求出每个位置往左能延伸多少个q即可,时间复杂度O(n)。然而我因为没用longlong 被别个hack了。。。血崩,AC代码:

#include<stdio.h>
#include<string.h>
#define LL long long 
char str[100005];
LL Fun(LL x){
    LL i;
    LL ans=0;
    for(i=0;i<=x;i++){
        ans+=i;
    }
    return ans;
}
int main()
{
    int T,i,j;
    scanf("%d",&T);
    while(T--){
        scanf("%s",str);
        LL ans=0;
        for(i=0;i<strlen(str);i++){
            if(str[i]=='q'){
                for(j=i+1;j<strlen(str)+1;j++){
                    if(str[j]!='q'||j==strlen(str)+1)
                    {
                        ans+=Fun(j-i);
                        i=j-1;
                        break;
                    }
                }
            }
        }
        printf("%lld\n",ans);
    }
}

2.hdu5908


                                                  Abelian Period

                                                               Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 262144/131072 K (Java/Others)
问题描述

S是一个数字串,定义函数occ(S,x)occ(S,x)表示S中数字x的出现次数。

例如:S=(1,2,2,1,3),occ(S,1)=2,occ(S,2)=2,occ(S,3)=1。
如果对于任意的i,都有occ(u,i)=occ(w,i),那么我们认为数字串uw匹配。

例如:(1,2,2,1,3)(1,3,2,1,2)。

对于一个数字串S和一个正整数k,如果S可以分成若干个长度为k的连续子串,且这些子串两两匹配,那么我们称k是串S的一个完全阿贝尔周期。

给定一个数字串S,请找出它所有的完全阿贝尔周期。
输入描述

输入的第一行包含一个正整数T(1T10),表示测试数据的组数。

对于每组数据,第一行包含一个正整数n(n100000),表示数字串的长度。

第二行包含n个正整数S1,S2,S3,...,Sn(1Sin),表示这个数字串。
输出描述
对于每组数据,输出一行若干个整数,从小到大输出所有合法的k
输入样例
2
6
5 4 4 4 5 4
8
6 5 6 5 6 5 5 6
输出样例
3 6
2 4 8
源码来自:https://pan.quark.cn/s/41b9d28f0d6d 在信息技术领域中,jQuery作为一个广受欢迎的JavaScript框架,显著简化了诸多操作,包括对HTML文档的遍历、事件的管理、动画的设计以及Ajax通信等。 本篇文档将深入阐释如何运用jQuery达成一个图片自动播放的功能,这种效果常用于网站的轮播展示或幻灯片演示,有助于优化用户与页面的互动,使网页呈现更加动态的视觉体验。 为了有效实施这功能,首先需掌握jQuery的核心操作。 通过$符号作为接口,jQuery能够迅速选取DOM件,例如$("#id")用于选取具有特定ID的元素,而$(".class")则能选取所有应用了某类class的元素。 在选定元素之后,可以执行多种行为,诸如事件监听、样式的变更、内容的更新以及动画的制作等。 关于“一个基于jQuery的图片自动播放功能”,首要任务是准备图片素材,这些素材将被整合至一个容器元素之中。 例如,可以构建一个div元素,将其宽度设定为单张图片的尺寸,再借助CSS实现溢出内容的隐藏,从而构建出水平滚动的初始框架。 ```html<div id="slider"> <img src="image1.jpg" alt="Image 1"> <img src="image2.jpg" alt="Image 2"> <!-- 更多图片内容... --></div>```接着,需要编写jQuery脚本以实现图片的自动切换。 这通常涉及到定时器的运用,以设定周期性间隔自动更换当前显示的图片。 通过使用`.fadeOut()`和`.fadeIn()`方法,能够实现图片间的平滑过渡,增强视觉效果。 ```javascript$(document).re...
关于 KFCOI Round #1 的具体资料并未在提供的引用中提及。然而,可以根据 Codeforces 类型的比赛结构以及类似的竞赛经验来推测可能的内容。 ### 参与 KFCOI Round #1 的相关信息 通常情况下,在线编程比赛(如 KFCOI 或 Codeforces)会提供以下资源供参赛者回顾: #### 1. **题目集** 比赛结束后,官方般会在其官方网站或相关平台上发布完整的题目集合。这些题目可能会附带样例输入输出以便于理解问题的要求[^1]。 #### 2. **题解与思路分析** 官方或者社区成员往往会撰写详细的题解文档,帮助未通过某些难题的选手学习新的算法技巧。例如,在 Codeforces 中,像 A 到 D 题这样的解析是非常常见的。 #### 3. **比赛数据统计** 统计信息包括但不限于每位选手提交次数、正确率等指标。这类数据分析有助于评估个人表现并与他人对比进步空间[^3]。 #### 4. **赛后讨论论坛** 很多平台都设有专门区域让参与者自由交流想法甚至分享错误经历以互相借鉴成长。比如提到过的多次尝试不同方法解决同道简单题目的过程就是很好的例子。 ### 如何获取上述材料? - 如果您已经注册参加了该赛事,则可以直接登录账户查看存档页面; - 对于公开可用的部分链接地址可以通过搜索引擎查询关键词“KFCOI Round #1 review”找到相关内容; - 加入些活跃的技术社群也可能获得更多手资讯和支持。 以下是基于假设场景下的 Python 实现示例用于处理类似 CF 圆整数分解成最小数量正整数合的问题: ```python def min_sum_representation(n): result = "" current_value = n for digit in range(9, 0, -1): while current_value >= digit: result += str(digit) current_value -= digit return &#39;&#39;.join(sorted(result)) print(min_sum_representation(7)) # 输出:"7" ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值