another

CF1324B Yet Another Palindrome Problem 题解

懵懂的女人 提交于 2020-03-23 09:09:42
原题链接 CF 127个测试点,好评 简要题意: 多组数据,问数组中是否有长度 \(\geq 3\) 的回文子序列。 我们需要找到本质。 题目不让我们求这个长度,只让我们判断,这是为什么呢? 如果答案是 YES ,那么必然存在一个长度为 \(3\) 的回文子序列。否则为 NO . 你想,如果原数组的最长回文序列是奇数的话,只要每次在两边同时删去一个,就可以得到长度为 \(3\) 的回文子序列。 如果是偶数,只要每次在两边同时删去一个,再在最中间两个任意删去一个,也可以得到长度为 \(3\) 的回文子序列。 反之如果没有,则就没有了。 比方说: 10 1 2 3 4 2 1 4 2 4 3 你发现这个数组的最长回文子序列为: 3 4 2 2 4 3 是偶数,那么其中必然存在一个长度为 \(3\) 的是: 4 2 4 (当然不止一种) 所以,题意改为: 判断一个数组中是否有长度为 \(3\) 的回文子序列。 ???这还用判断吗??? 长度为 \(3\) ,中间数没有什么限制,旁边两个数相等即可。 也就是说,需要 找到两个相等的数,使得它们不相邻(即中间还放得下一个数,构成回文子序列) 。 ???这还用判断吗??? 显然,一波哈希解决问题。正好 \(a_i \leq n\) ,这不是天赐良机? 时间复杂度: \(O(T \times n)\) . 空间复杂度: \(O(n)\) .

yum提示Another app is currently holding the yum lock

坚强是说给别人听的谎言 提交于 2020-03-20 13:56:54
使用yum安装计划任务功能,结果提示: yum -y install wget Loaded plugins: fastestmirror, refresh-packagekit, security Existing lock /var/run/yum.pid: another copy is running as pid 25960. Another app is currently holding the yum lock; waiting for it to exit... 可能是系统自动升级正在运行,yum在锁定状态中。 已经有一个yum进程在运行了,使用kill杀死它 kill -9 25960 kill对付不了它: 可以通过强制关掉yum进程: #rm -f /var/run/yum.pid 然后就可以使用yum了。 来源: 51CTO 作者: mb5c8bdad9912ea 链接: https://blog.51cto.com/14243230/2480346

Git操作失败并提示Another git process seems to be running in this......

放肆的年华 提交于 2020-03-10 06:29:18
it操作的过程中突然显示Another git process semms to be running in this repository, e.g. an editor opened by ‘git commit’. Please make sure all processes are terminated then try again. If it still fails, a git process remove the file manually to continue… 翻译过来就是git被另外一个程序占用,重启机器也不能够解决。 原因在于Git在使用过程中遭遇了奔溃,部分被上锁资源没有被释放导致的。 解决方案:进入项目文件夹下的 .git文件中(显示隐藏文件夹或rm .git/index.lock)删除index.lock文件即可。 来源: CSDN 作者: 落雪为裳 链接: https://blog.csdn.net/wanggong_1991/article/details/104758480

代词

耗尽温柔 提交于 2020-03-07 10:28:17
注意: 1,there,here是adv 2,由于可以名词连用,你可以看到(限定词)   you guys, this one, that one, those people 3,不定代词的是否可数(基本可以和of连用)   都可以:any,some,lot,all,both, none, other, others, the other   可数:     单数:another,the other, each,every     复数:few, many, both, either, neither,   不可数:little, much    来源: https://www.cnblogs.com/vhyc/p/12432734.html

959F - Mahmoud and Ehab and yet another xor task xor+dp(递推形)+离线

时间秒杀一切 提交于 2020-03-04 15:34:33
959F - Mahmoud and Ehab and yet another xor task xor+dp+离线 题意 给出 n个值和q个询问,询问l,x,表示前l个数字子序列的异或和为x的子序列有多少,其中空序列的异或和为0,一个数字的子序列的异或和是它本身 思路 维护一个集合,记录已经存在在里面的数。 首先我们证明 1.当x在这个集合,y在这个集合的时候 \(x\bigoplus y\) 也在这个集合里面,因为 \(x=a\bigoplus b\) \(y=c\bigoplus d\) 所有 \(x\bigoplus y==a\bigoplus b \bigoplus c\bigoplus d\) 所一定存在在集合中 2.当x在这个集合中y不在这个集合中的时候, \(x\bigoplus y\) 不在这个集合中 假设 \(x\bigoplus y\) 在这个集合中 那么 \((x\bigoplus y)\bigoplus x\) 也在这个集合中也就是y在这个集合中与题设矛盾 设dp[i][x]表示前i个异或和为x的数量,则有 \(dp[i][x]=dp[i-1][x]+dp[i-1][x\bigoplus a[i]]\) 我们用数学归纳法证明 假设对i-1的都成立。 设dp[i-1][x]=j 假设x和a[i]都在set集合中 那么由以上的证明可以知道 \(x

CF1234F Yet Another Substring Reverse (状压dp)

牧云@^-^@ 提交于 2020-03-03 11:19:12
首先我们发现,因为可以在任意地方翻转,所以最后的答案就是一个合法子串和他的补集的子集中个数和最大的那个 因此我们先枚举每一个合法状态,记录他的合法个数有几个。 然后我们从头枚举每一个状态,计算状态的子集中的最大个数。 这样我们最后只要枚举状态和补集,就能计算出真正的答案了 #include<iostream> #include<vector> #include<cstdio> #include<string> #include<cstring> #include<algorithm> using namespace std; const int N=21; int f[1<<21]; int n; string s; int st[N]; int main(){ cin>>s; int i,j; for(i=0;i<s.size();i++){ int tmp=0; int cnt=0; memset(st,0,sizeof st); for(j=i;j<s.size();j++){ //枚举每一个合法状态 if(st[s[j]-'a']) break; tmp+=1<<(s[j]-'a'); st[s[j]-'a']=1; cnt++; f[tmp]=cnt; } } for(i=0;i<1<<20;i++){ //dp思想由子集的最大数来判断当前状态的最大个数 for(j=0

E - Another Problem on Strings

倖福魔咒の 提交于 2020-02-29 14:13:15
A string is binary, if it consists only of characters “0” and “1”. String v is a substring of string w if it has a non-zero length and can be read starting from some position in string w. For example, string “010” has six substrings: “0”, “1”, “0”, “01”, “10”, “010”. Two substrings are considered different if their positions of occurrence are different. So, if some string occurs multiple times, we should consider it the number of times it occurs. You are given a binary string s. Your task is to find the number of its substrings, containing exactly k characters “1”. Input The first line

webpack 代码分离

£可爱£侵袭症+ 提交于 2020-02-27 05:24:11
本指南扩展了 起步 和 管理输出 中提供的示例。请确保您至少已熟悉其中提供的示例。 代码分离是 webpack 中最引人注目的特性之一。此特性能够把代码分离到不同的 bundle 中,然后可以按需加载或并行加载这些文件。代码分离可以用于获取更小的 bundle,以及控制资源加载优先级,如果使用合理,会极大影响加载时间。 有三种常用的代码分离方法: 入口起点:使用 entry 配置手动地分离代码。 防止重复:使用 CommonsChunkPlugin 去重和分离 chunk。 动态导入:通过模块的内联函数调用来分离代码。 1. 入口起点(entry points) 这是迄今为止最简单、最直观的分离代码的方式。不过,这种方式手动配置较多,并有一些陷阱,我们将会解决这些问题。先来看看如何从 main bundle 中分离另一个模块: project webpack-demo |- package.json |- webpack.config.js |- /dist |- /src |- index.js + |- another-module.js |- /node_modules another-module.js import _ from 'lodash'; console.log( _.join(['Another', 'module', 'loaded!'], ' ') );

[Codeforces 868F]Yet Another Minimization Problem

流过昼夜 提交于 2020-02-21 18:40:27
Description 题库链接 给定一个序列 \(a\) ,要把它分成 \(k\) 个子段。每个子段的费用是其中相同元素的对数。求所有子段的费用之和的最小值。 \(2 \leq n \leq 10^5,2 \leq k \leq \min(n,20),1 \leq a_i \leq n\) Solution 设 \(f_{i,j}\) 表示 \(1\sim i\) 分为 \(j\) 段的最小费用。 那么 \(f_{i,j}=\min\limits_{1\leq k\leq i}\{f_{k-1,j-1}+w(k,i)\}\) 。其中 \(w(l,r)\) 表示区间 \([l,r]\) 这一段的费用。 并且可以知道 \(\forall a<b<c<d,w(a,d)+w(b,c)\geq w(a,c)+w(b,d)\) 。证明的话可以对每个不同的数 \(a\) 进行考虑,假设 \(a\sim b\) 这段区间 \(a\) 有 \(x\) 个, \(b\sim c\) 中有 \(y\) 个, \(c\sim d\) 中有 \(z\) 个。然后可知 \(w(a,d)=\frac{(1+x+y+z)(x+y+z)}{2}\) ,其余同理,之后暴力拆开可以直接证明。 满足四边形不等式后那么就可以在 \(O(n\log n)\) 的时间内解决了。并且由于 \(w(i,j)\) 运算复杂度较高

HDU-3564 Another LIS

老子叫甜甜 提交于 2020-02-13 17:16:59
Another LIS Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 2127 Accepted Submission(s): 771 Problem Description There is a sequence firstly empty. We begin to add number from 1 to N to the sequence, and every time we just add a single number to the sequence at a specific position. Now, we want to know length of the LIS (Longest Increasing Subsequence) after every time's add. Input An integer T (T <= 10), indicating there are T test cases. For every test case, an integer N (1 <= N <= 100000) comes first, then there are N numbers, the k-th