美好的每一天(洛谷2017春节联欢赛 Hello Dingyou)(提高组)
来源:互联网 发布:分体式集成灶 品牌知乎 编辑:程序博客网 时间:2024/05/21 09:27
题目:
题目背景
时间限制3s,空间限制162MB
素晴らしき日々
我们的情人,不过是随便借个名字,用幻想吹出来的肥皂泡,把信拿去吧,你可以使假戏成真。我本来是无病呻吟,漫无目的的吐露爱情—现在这些漂泊不定的鸟儿有地方栖息了,你可以从信里看出来。拿去吧—由于不是出自真心,话就说得格外动听,拿去吧,就这么办吧…
由于世界会在7月20日完结,作为救世主,间宫卓司要在19日让所有人回归天空
现在已经是19日傍晚,大家集合在C栋的天台上,一共n个人
在他们面前,便是终之空,那终结的天空
题目描述
回归天空是一件庄重的事情,所以卓司决定让大家分批次进行,给每个人给了一个小写字母’a’->’z’作为编号
一个区间的人如果满足他们的编号重排之后可以成为一个回文串,则他们可以一起回归天空,即这个区间可以回归天空
由于卓司是一个喜欢妄想的人,他妄想了m个区间,每次他想知道每个区间中有多少个子区间可以回归天空
因为世界末日要来了,所以卓司的信徒很多
输入输出格式
输入格式:
第一行两个数n,m
之后一行一个长为n的字符串,代表每个人的编号
之后m行每行两个数l,r代表每次卓司妄想的区间
输出格式:
m行,每行一个数表示答案
作者思路:组成回文串的条件是:每个字符数量不能是奇数或只有一个奇数。我的代码是暴力,只能拿十分。要优化要求前缀和。
超时代码:
var st:array[0..60001] of char; n,m,i,j,k,ans,x,y:longint;function check(x,y:longint):boolean;var c:char; ch:array['a'..'z'] of longint; i,t:longint;begin t:=0; fillchar(ch,sizeof(ch),0); for i:=x to y do inc(ch[st[i]]); for c:='a' to 'z' do if ch[c] mod 2=1 then inc(t); if t<2 then exit(true) else exit(false);end;begin readln(n,m); for i:=1 to n do read(st[i]); readln; for i:=1 to m do begin ans:=0; read(x,y); for j:=x to y do for k:=j to y do if check(j,k) then inc(ans); writeln(ans); end;end.
0 0
- 美好的每一天(洛谷2017春节联欢赛 Hello Dingyou)(提高组)
- P3604 美好的每一天
- 美好的一天,开心过好每一天!
- Skycc营销软件,给她美好的每一天
- Skycc营销软件,给她美好的每一天
- 美好的一天(Weather Live)
- 美好的一天
- 美好的一天
- 美好的一天
- 美好的一天
- 1009 美好的一天
- 美好的一天
- 美好的一天
- 美好的一天
- 美好的一天
- 美好的一天
- 美好的一天
- 美好的一天
- 基於tiny4412的Linux內核移植 --- 实例学习中断背后的知识(1)
- 紫书例题 11-2 Uva1395 最小生成树,Kruskal,暴力
- C语言实验——分割整数 (sdut oj)
- 线程安全与锁优化(十三)
- JQuery中的常用事件
- 美好的每一天(洛谷2017春节联欢赛 Hello Dingyou)(提高组)
- 大大维的游戏机计划2--一个自制的类似2048的小游戏
- Matlab编程与数据类型 -- 多分支条件选择语句if/elseif/…/else/end
- Spring boot(二)
- C语言实验——数组逆序 (sdut oj)
- 单向链表实现数据结构中的栈
- hexo如何为github博客设置一个域名?
- 《TCP/IP详解卷:协议》关于四层体系结构概述
- WordCount案例---MapReduce学习小结(-)