【BZOJ】2084: [Poi2010]Antisymmetry

摘要:
Id=2084主题含义:对于01字符串,需要在0和1字符串反转后将整个字符串的子字符串数反转为与原始字符串相同的数字=s[i+now+1]))++now;ans+=现在;}如果cur=i;}输出函数return0;}我们发现,0和1被视为相等的回文==妈妈发现,在担任经理时存在各种作弊情况==首先,请注意,只有插入的特殊字符才能展开==否则,如果0或1展开,将出现无法解释的问题==(因为当0!=1时,41001的答案可能是2==,因为您会发现扩展后的“#”的长度不一定满足此长度内“0”或“1”的栅栏长度==

http://www.lydsy.com/JudgeOnline/problem.php?id=2084

题意:一个01串,求满足字符串0和1取反后,再将整个串反过来和原串一样的子串数目。(n<=500000)

#include <bits/stdc++.h>
using namespace std;
const int N=500005;
long long ans;
int len[N<<1], n;
char s[N<<1];
int main() {
	scanf("%d%s", &n, s+1);
	for(int i=n; i; --i) s[i<<1]=s[i], s[i<<1|1]='#';
	n=n<<1|1; s[1]='#';
	int cur=1;
	for(int i=2; i<=n; ++i) {
		int &now=len[i];
		now=min(len[(cur<<1)-i], max(0, cur+len[cur]-i));
		if(i&1) {
			while(i-now-1>=1 && i+now+1<=n && (s[i-now-1]=='#' || s[i-now-1]!=s[i+now+1])) ++now;
			ans+=now;
		}
		if(cur+len[cur]<i+now) cur=i;
	}
	printf("%lld
", ans>>1ll);
	return 0;
}

  

发现就是0和1看做相等的回文串= =

妈呀发现在做manacher的时候有各种坑爹情况= =

首先要注意只能插入的特殊字符才能拓展= =否则如果是0或1拓展的话会出现莫名的问题= =(因为当0!=1的时候可能会造成类似这种

4
1001

答案应该是2

= =因为你会发现当'#'拓展后得到的长度,对于'0'或'1'在这个长度内不一定满足回文性= =

免责声明:文章转载自《【BZOJ】2084: [Poi2010]Antisymmetry》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇标准差(standard deviation)和标准错误(standard error)你能解释一下?使用Debian的kernelpackage系统创建自己的内核下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

三伏天,华为路由器 AX3 PRO 发热严重,网络断流,改装散热清凉一夏

我特意买了一个WIFI6路由器。我走到路由器前触摸了一下,然后我开始了散热改造之路。我翻箱倒柜,找到了密封多年的最小散热静音风扇。淘宝找到了最小的一个(12V1A/0.6A可以)。然后我拆下了风扇架。我将电线穿过路由器底部框架的散热孔,并通过路由器的12V电源孔直接焊接电线。注意,正负极不应连接在散热孔中,用热熔粘合剂将风扇定子固定在底板上。请注意,风扇叶的...

JRebel 6 破解版及使用方法

2.解压下载的jrebel6.0.0-crack.zip、jrebel6.0 jar包和破解文件。假设文件在D:/jrebel步骤:1中解压缩。eclipse下载jrebe插件,可以在市场上下载。2.打开eclipse的窗口首选项jrebel,打开优势选项卡,并将jar包的路径指向D:/jrebel/jrebel.jar。用CMD打开DOS窗口,输入cd/d...

css设置文字多余部分显示省略号

如果只显示一行,则可以使用以下方法:  overflow:hidden;  text-overflow:ellipsis;  white-space:nowrap;如果需要显示多行,在需要设置的元素style中添加以下代码:  word-break:break-all;  text-overflow:ellipsis;  display:-webkit-bo...

RPi 树莓派 DSI 接口研究 MIPI raspberry pi

我已经玩树莓派很久了。我发现尚未使用DSI显示界面。经过一些研究,我发现它很有趣。我稍后会记录相关信息。(更新1:目前,整个网络上有很多方案来研究hdmi和mipi之间的相互转换方案:a.)mipi屏幕+hdmi界面:大多数都是因为有很多mipi屏幕和漂亮的参数而被研究的。详细信息:谷歌,得益于包括智汇在内的各种大神的研发,如Pocket LCD方案。最困难...

如何根据角色批量激活SAP Fiori服务

我们知道Fiori的角色不同于ERP,即使您的帐户具有SAP_ALL权限,但当您打开Fiori时,它也是空的:只有在您将Fiori所需的角色添加到帐户并激活相关服务时,才能使用Fioriapp。否则,打开Fioriapps将报告错误。可以通过GUI事务代码找到特定错误:/n/iwfnd/error_Log以查看特定原因。...

微信小程序-获取input值的两种方法

1、bindinput其中e.detail是获取input数据其中包含value值,cursor是获取光标的位置。...