首页 > 其他分享 >Educational Codeforces Round 134 E - Prefix Function Queries补题

Educational Codeforces Round 134 E - Prefix Function Queries补题

时间:2022-08-28 20:45:51浏览次数:76  
标签:Function Educational int rep ne long typedef 补题 define

原题链接

参考了jly的写法

#pragma GCC optimize(2)
#include<bits/stdc++.h>
using namespace std;

#define fr first
#define se second
#define et0 exit(0);
#define rep(i, a, b) for(int i = (int)(a); i <= (int)(b); i ++)
#define rrep(i, a, b) for(int i = (int)(a); i >= (int)(b); i --)
#define IO ios::sync_with_stdio(false),cin.tie(0);

typedef long long LL;
typedef pair<int, int> PII;
typedef pair<LL, LL> PLL;
typedef unsigned long long ULL;

const int INF = 0X3f3f3f3f, N = 1e6 + 50, MOD = 1e9 + 7;
const double eps = 1e-7, pi = acos(-1);

int ne[N], f[N][26];

char s[N]; 

void work() {
	int q;
	scanf("%s%d", s + 1, &q);
	int m = strlen(s + 1);
	ne[0] = ne[1] = 0;
	f[0][s[1] - 'a'] = 1;
	rep (i, 2, m) {
		rep (j, 0, 25) {
			if (s[i] - 'a' == j) {
				f[i - 1][j] = i;
				ne[i] = f[ne[i - 1]][j];
			}
			else f[i - 1][j] = f[ne[i - 1]][j];
		}
	}
	while (q--) {
		scanf("%s", s + 1 + m);
		int len = strlen(s + 1 + m);
		rep (i, m + 1, m + len) {
			rep (j, 0, 25) {
				if (s[i] - 'a' == j) {
					f[i - 1][j] = i;
					ne[i] = f[ne[i - 1]][j];
				}
				else f[i - 1][j] = f[ne[i - 1]][j];
			}
			printf("%d ", ne[i]);
		}
		puts("");
	}
}

signed main() {
	int test = 1;
//	cin >> test;

	while (test--) {
		work();
	}

	return 0;
}

标签:Function,Educational,int,rep,ne,long,typedef,补题,define
From: https://www.cnblogs.com/xhy666/p/16633586.html

相关文章

  • Educational Codeforces Round 125 D
    D.ForGamers.ByGamers.最近又生病了然后就休息了两天人还真是休息不得直接寄掉了不管是手速还是思维啥的看到这道题很简单的一个变形都没看出来只看出了二分......
  • 51nod 省选3 4补题
    3B考虑分手是祝愿的推法。再者,为什么能把每一维的行走都看成步,然后只要计算总步数的答案?某一维到边界后就不会在走了。可能是某些维交替进行的撤销操作不一定......
  • Educational Codeforces Round 134 (Rated for Div. 2) A-C
    2A,C题wa2不知道为什么。B题少判一个条件:左上角A:题意有点不懂,到最后才知道是有多少种数,就输出这个种数-1即可intn,m;voidsolve(){//cin>>n>>m;chars[......
  • Educational Codeforces Round 134 (Rated for Div. 2)
    EducationalCodeforcesRound134(RatedforDiv.2)D.MaximumAND题目大意给出序列a,b,b可以任意排列,序列c有\(c_i=a_i\bigoplusb_i\)。c序列的价值为c1&c2&c33...&......
  • 在uniapp中使用axios出现adapter is not a function的解决方案
    出现这种报错是因为uniapp对axios有适配问题,不兼容,需要在main.js或者封装axios的文件中加以下代码axios.defaults.adapter=function(config){returnnewPromise((......
  • 2019ICPC南京[补题]
    1.0C1.1题目大意:  给我们一张网格图,我们求出所有的路径使得这个路径至少包括四个点,且这四个点是严格递增且相邻两个点的差值为\(1\),......
  • Educational Codeforces Round 106 (Rated for Div. 2) | CF1499
    E一个暴力是显然的,\(f(i,j,k)\)表示当前已经使用\(a\)的前\(i\)位,\(b\)的前\(j\)位,最后一位是\(a\)还是\(b\)的。然后\(O(n^2)\)枚举起点跑下去即可。为啥......
  • sprintf': This function or variable may be unsafe. Consider using sprintf_s
    在vs里面写c会报各种奇怪的错误,那就用cpp吧,然后c里面的一些函数也会报错,包括最常用的sprintf:sprintf:Thisfunctionorvariablemaybeunsafe.Considerusingsprint......
  • Verilog中函数function写法使用方法
    function写法function的标准写法如下:  函数的语法为:.定义函数时至少要有一个输入参量;可以按照ANSI和module形式直接定义输入端口。例如:function[63:0]alu(input[......
  • 微信小程序开发工具,更新后报typeof4 is not a function
    升级开发者工具版本后,新版工具将es6转es5和增强编译合并,报以下错误。  解决方法有两种:1.修改一下@babel/runtime/helpers/typeof.js文件,内容修改为代码片段的。......