精华内容
下载资源
问答
  • shorten
    2022-07-19 22:08:10

    ARC110E Shorten ABC

    考虑操作的本质,将 A A A B B B C C C 分别记作 1 1 1 2 2 2 3 3 3

    操作 s i s_i si s i + 1 s_{i+1} si+1 即合并为 s i ⊕ s i + 1 s_i \oplus s_{i+1} sisi+1

    那么区间的异或和并不变,对于异或和为 0 0 0 的区间,最后只会全部相同;否则一定剩下一个字符(奇数且全部相同的除外)。

    推论,对于异或和为 0 0 0 的区间,若在它左或右边多加上一个字符,一定会合并成一个字符。

    对于一种操作得到的字符串 t t t,相等于将原串前面全部分成异或和不为 0 0 0 的段,且满足最后一段异或和为 0 0 0(空串也算)。

    普通 DP 具备重复性,重复是因为异或和为 0 0 0 的段可能有多种可能方案。

    于是考虑去除异或和为 0 0 0 的段的贡献即不枚举其,考虑当前段结尾为 i i i,找到它右边第一个 j j j,满足区间 [ 1 , j ] [1,j] [1,j] 的前缀异或和 ≠ \ne = 区间 [ 1 , i ] [1,i] [1,i] 的异或和,即表示区间 [ i + 1 , j ] [i+1,j] [i+1,j] 的异或和不为 0 0 0

    f i f_i fi 表示按上述方法分段,最后一段以 i i i 结尾的方案数。

    预处理上述方法的递推顺序即可。

    答案即为满足 [ i + 1 , n ] [i+1,n] [i+1,n] 的异或和为 0 0 0 的所有 i i i 对应的 f i f_i fi 之和。

    时间复杂度 O ( n ) \mathcal O(n) O(n)

    类似的练手题:AT4379 [AGC027E] ABBreviate

    #include<bits/stdc++.h>
    
    using namespace std;
    
    typedef long long ll;
    
    #define ha putchar(' ')
    #define he putchar('\n')
    
    inline int read() {
    	int x = 0, f = 1;
    	char c = getchar();
    	while (c < '0' || c > '9') {
    		if (c == '-')
    			f = -1;
    		c = getchar();
    	}
    	while (c >= '0' && c <= '9')
    		x = (x << 3) + (x << 1) + (c ^ 48), c = getchar();
    	return x * f;
    }
    
    inline void write(int x) {
    	if (x < 0) {
    		putchar('-');
    		x = -x;
    	}
    	if (x > 9)
    		write(x / 10);
    	putchar(x % 10 + 48);
    }
    
    const int _ = 1e6 + 10, mod = 1e9 + 7;
    
    int n, s[_], nxt[_][4], f[_];
    
    char c[_];
    
    signed main() {
    	n = read();
    	scanf("%s", c + 1);
    	bool flg = 0;
    	for (int i = 1; i < n; ++i)
    		if (c[i] != c[i + 1]) {
    			flg = 1;
    			break;
    		}
    	if (!flg) return puts("1"), 0;
    	for (int i = 1; i <= n; ++i) s[i] = s[i - 1] ^ (c[i] - 'A' + 1);
    	for(int i = 0; i < 4; ++i) nxt[n][i] = n + 1;
    	for (int i = n; i >= 1; --i) {
    		for (int j = 0; j < 4; ++j) nxt[i - 1][j] = nxt[i][j];
    		nxt[i - 1][s[i]] = i;
    	}
    	f[0] = 1;
    	ll ans = 0;
    	for (int i = 0; i < n; ++i) {
    		for (int j = 0; j < 4; ++j)
    			if(s[i] != j) f[nxt[i][j]] = (f[nxt[i][j]] + f[i]) % mod;
    		if(s[i + 1] == s[n]) ans = (ans + f[i + 1]) % mod;
    //		cout << f[i + 1] << "\n";
    	}
    	write(ans), he;
    	return 0;
    }
    
    更多相关内容
  • 语言:English 提取您阅读的任何文章中的要点,并立即对其进行翻译! 从您阅读的任何文章中提取要点,并立即对其进行翻译!...多亏了Shorten and Translate,您还可以专注于后期编辑,释义和用外语引用您选
  • equal ( shorten ( 'https://www.vpro.nl/programmas/gliphoeve/documentaire-intro.html' , 50 ) , 'https://www.vpro.nl/…/documentaire-intro.html' )t . equal ( shorten ( '...
  • Url-Shorten-Worker 使用Cloudflare Worker创建的URL缩短器 入门指南 去Workers KV中创造一个命名空间 转到Workers KV并创建一个名称空间。 去Worker的设置选选项卡中绑定KV命名空间 绑定KV命名空间的实例以在...
  • git clone hhttps://github.com/yanbrasiliano/url-shorten.git 2.如果尚未安装pip软件包,请通过终端安装。 sudo apt install python3-pip 3.安装requirements.txt pip install -r requirements.txt 欣赏剧本 :...
  • shorten_link_and_counting_clicks-main.zip,shorten_link_and_counting_clicks-main,main.py,requirements.txt,.gitignore,README.md,.gitattributes
  • 语言:中文 (简体) 使用微博:trade_mark:将长网址缩短成t.cn的短...通过发布隐藏微博获取网址对应的短网址 特性: - 支持网页里右键直接生成 - 支持输入网址生成 - 自动复制到剪贴板 - 需要登录微博,自动删除临时微博
  • shorten-your-link-master.zip,shorten-your-link-master,public,favicon.ico,views,partials,footer.ejs,head.ejs,index.ejs,results.ejs,models,link.js,index.js,migrations,20150402182312-create-link.js,...
  • Shorten 是一个可以在 DIV 中自动缩短文本并且加上“show more”链接的 jQuery 插件。 标签:Shorten
  • path-shorten

    2021-05-06 10:03:02
    const pathShorten = require ( 'path-shorten' ) console . log ( pathShorten ( '/one/two/three/four/five.txt' ) ) console . log ( pathShorten ( 'C:\\Users\\mollie\\Documents\\\\some-project' ) ) console...
  • 在你阅读的任何文章中提取关键点。...多亏了Shorten and Translate,您还可以专注于后期编辑,释义和用外语引用您选择的文本。这使“缩短和翻译”成为翻译人员,营销人员和内容营销经理的理想工具。 支持语言:English
  • $ npm install --save emojify-shorten 用法 const emojify = require ( 'emojify-shorten' ) emojify ( 'www.google.com' ) . then ( console . log ) /* [ 'http://emojify.tk/c', 'http://:skier:.cf/c', '...
  • $ npm install react-shorten-url 或纱线: $ yarn add react-shorten-url 入门 ShortenUrlProvider 配置参数值 姓名 类型 默认 描述 accessToken 细绳 比特访问令牌 选项 BitlyConfig {} 额外的按位配置 ...
  • go-shorten:URL 缩短服务此服务存储并提供 URL 重定向。 我从我在 LinkedIn 工作时窃取的想法显然是从谷歌那里窃取的。为什么? 就其本身而言,共享 URL 缩短服务非常有用。 想参观东西吗? 在浏览器中输入go/thing...
  • Shorten 是一个由koa.js提供支持的io.js URL 缩短koa.js ,带有一个 JSON “dataase”。 安装 您需要安装io.js >= 1.0.0 。 请参阅进行安装。 $ git clone https://github.com/juhohei/shorten.git $ cd shorten $ ...
  • Shorten.REST URL缩短API Chrome扩展程序-无需登录帐户即可轻松缩短和管理简短的品牌URL。 轻松搜索,更新和管理您现有的短URL。 在short.fyi和您自己的品牌域名之间进行选择(允许多个域名!)。 自定义URI(别名/...
  • shorten-string

    2021-03-26 11:29:24
    shorten-string-main.zip,shorten-string-main,.gitignore,README.md,server.js,Procfile,shorten-string-frontend,.gitignore,README.md,public,manifest.json,robots.txt,logo192.png,logo512.png,index.html,...
  • IDEA : shorten command line

    2022-02-28 15:28:32
     shorten command line 选项提供三种选项缩短类路径。  none:这是默认选项,idea不会缩短命令行。如果命令行超出了OS限制,这个想法将无法运行您的应用程序,但是工具提示将建议配置缩短器。  JAR manifest:...

    如果类路径太长,或者有许多VM参数,程序就无法启动。原因是大多数操作系统都有命令行长度限制。在这种情况下,IntelliJIDEA将试图缩短类路径。

      shorten command line 选项提供三种选项缩短类路径。

      none:这是默认选项,idea不会缩短命令行。如果命令行超出了OS限制,这个想法将无法运行您的应用程序,但是工具提示将建议配置缩短器。

      JAR manifest:idea 通过临时的classpath.jar传递长的类路径。原始类路径在MANIFEST.MF中定义为classpath.jar中的类路径属性。

      classpath file:idea 将一个长类路径写入文本文件中。

    展开全文
  • shorten_url

    2021-03-17 20:15:43
    shorten_url-master.zip,shorten_url-master,.gitignore,app,User.php,Providers,AppServiceProvider.php,BroadcastServiceProvider.php,EventServiceProvider.php,RouteServiceProvider.php,AuthServiceProvider....
  • 进入你需要运行的项目,单击编辑运行配置,然后选择 Modify Options,然后选择 shorten command line 然后在弹出的对话框中选择如何将命令行进行调整。 然后再单击运行就可以解决命令行运行的问题了。...

    在 2021.3 版的 intellij 这个配置换了地方了。

    进入你需要运行的项目,单击编辑运行配置,然后选择 Modify Options,然后选择 shorten command line

    然后在弹出的对话框中选择如何将命令行进行调整。

    然后再单击运行就可以解决命令行运行的问题了。

    Intellij 2021.3 运行应用的时候 shorten command line - 开源 - OSSEZ

    展开全文
  • bitly.com-url-shorten-class

    2021-06-19 09:16:44
    Bit.ly url 缩短类 类的基本使用 <...$ short_url = Bitly :: init ()-> bitly_shorten ( urldecode ( $ url )); if ( isset ( $ short_url [ 'url' ])) echo $ short_url [ 'url' ]; exit; ?>
  • G-SHORTEN! Google缩短多格式文本的网址 支持语言:English
  • git clone https://github.com/chrisnmorrison/shorten-url-js-mongo 步骤2:cd进入克隆的仓库并运行: npm install 步骤3:安装并运行MongoDB 如果您对MongoDB并不完全熟悉,我建议您将用作桌面GUI,直到您在...
  • (2)展开Environment (3)设置Shorten command line三、启动项目这个异常的出现是因为运行项目的指令过长引起的,在IDEA进行代码运行时加载了很多指令,这些指令拼接后的长度超出了系统的最大长度,当你的命令行...

    Error running 'RuoYiApplication': Command line is too long. Shorten command line for RuoYiApplication or also for Spring Boot default configuration? 

    目录

    一、问题原因

    二、解决办法

    (1)选择Edit Configurationis...

    展开全文
  • shorten command line

    千次阅读 2020-11-13 17:37:25
     shorten command line 选项提供三种选项缩短类路径。  none:这是默认选项,idea不会缩短命令行。如果命令行超出了OS限制,这个想法将无法运行您的应用程序,但是工具提示将建议配置缩短器。  JAR manifest:...
  • 运行主程序时出错:命令行太长。 缩短命令行或应用程序的默认配置 再选择增加“Shorten command line”选项
  • 安装$ npm install shorten-repo-url用法const shortenRepoUrl = require ( 'shorten-repo-url' ) ;const HTML = shortenRepoUrl ('https://github.com/nodejs/node/tree/v0.12/doc' ,'...
  • 很多人都知道去Edit configuration 找Shorten comand line,但有时候单元测试的配置中找不到 Shorten comand line,不是没有而是被隐藏了,默认没有显示出来,而application 的Edit configuration 中会显示出来 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,102
精华内容 2,840
关键字:

shorten