JSOI 2016 扭动的字符串】的更多相关文章

JSOI 2016 扭动的字符串 题面描述 给出两个长度为\(n\)的字符串\(A,B\) \(S(i,j,k)\)表示把\(A\)中的\([i,j]\)和\(B\)中的\([j,k]\)拼接起来的字符串 问所有回文的\(S(i,j,k)\)或者\(A,B\)中的回文子串的最长长度 思路 枚举回文串的中心. 可以发现,如果能在当前字符串内扩展就尽量扩展,不能扩展了再尝试和另一个字符串匹配. 对于前者,使用\(manacher\)算法 对于后者,二分一个长度,用\(hash\)判断能否匹配. 以上…
4753: [Jsoi2016]最佳团体 Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 2003  Solved: 790[Submit][Status][Discuss] Description JSOI信息学代表队一共有N名候选人,这些候选人从1到N编号.方便起见,JYY的编号是0号.每个候选人都由一位 编号比他小的候选人Ri推荐.如果Ri=0则说明这个候选人是JYY自己看上的.为了保证团队的和谐,JYY需要保证, 如果招募了候选人i,那么候…
题面 0/1分数规划+树形背包检查 要求$\frac{\sum P_i}{\sum S_i}的最大值,$按照0/1分数规划的做法,二分一个mid之后把式子化成$\sum P_i=\sum S_i*mid$.然后相当于每个点$i$的点权是$P_i-S_i*mid$来做树形背包. 然而我并不太会树形背包=.= 设$dp[i][j]$表示以$i$为根的子树中选出$j$个物品的最优解,然后转移的时候 枚举子树->枚举已经合并好的部分->枚举一棵新子树 来转移 #include<cstdio>…
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=4850 [算法] 首先对不等式进行移项 : hj <= hi + p - sqrt(|i - j|) p >= hj - hi + sqrt(|i - j|) 显然 , sqrt(|i - j|)最多只有sqrt(n)个不同的值 用ST表求区间最值 , 然后分块计算即可 时间复杂度: O(Nsqrt(N)) [代码] #include<bits/stdc++.h> us…
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=4753 [算法] 很明显的分数规划 可以用树形动态规划(树形背包)检验答案 时间复杂度 : O(N^3logN) [代码] #include<bits/stdc++.h> using namespace std; #define MAXN 2510 ; const double inf = 1e9; int n , tot , k; int head[MAXN],a[MAXN],b…
原题链接:https://www.luogu.com.cn/problem/P5774 分析 直接看这道题,第一个困惑点,那个绝对值的比较是什么东西,根据数学知识,我们可以知道这个意思是k到i的距离小于k到j的距离,而路线是线性的,这就意味着当且仅当k在j的左边时才成立,不然总会有k-i>k-j,还不理解?看下图 如果K在K'的位置,那么K-i一定大于K-j吧,所以这个题的题意是只要从j往回走去治愈K,就必须把之前没治愈过的村庄也治愈了. 想到这里,状态就差不多出来了,定义DP[i]表示治愈前i…
JSON是一种数据格式,不是一种编程语言. 一.语法 JSON语法可以表示以下三种类型的值:简单值.对象.数组. 1.简单值 最简单的JSON数据值就是简单值: 5 "hello world" 2.对象 JSON对象与JAVASCRIPT字面量有些不同,以下是javascript中的对象字面量: // 表示方法1 var person = { name:"Lillian", age:24 }; // 表示方法2 var person1 = { "name&…
Chrome 调试技巧 1.alert 这个不用多说了,不言自明. 可参考:https://www.cnblogs.com/Michelle20180227/p/9110028.html 2.console 基本输出 想必大家都在用 console.log 在控制台输出点东西,其实console还有其它的方法: 1.console.log("打印字符串");//在控制台打印自定义字符串 2.console.error("我是个错误");//在控制台打印自定义错误信息…
前言 今天想要用Python访问Access数据库,折腾了半天,特记录一下 背景 最近想将一些文件记录下来,存入数据库,为此拿LabVIEW写了一个版本,记录环境配置为: LabVIWE:2015 Access:2016 驱动连接字符串: Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;Jet OLEDB:Database Password=;Persist Security Info=False 虽然用LabVIEW已经实现功能,但觉得还是太笨重…
1.步骤 : (1).获取 jclass (2).获取 构造函数的 method id (方法的名称始终为"<init>") (3).创建Java对象的两种方式: (3.1).jobject obj?? = (JNIEnv *)->NewObject(jclass _clazz, 构造函数的MethodId, 构造函数的参数); // ZC: 可变参数函数,"构造函数的参数"可以不输入 (3.2). (3.2.1).jobject jobj?? =…