Problem A

Problem B

Problem C

这题用主席树轻松解决

可以二分答案,每次查询;也可以直接开个全局变量在主席树上二分;

时间复杂度$O(nlog^{2}n)$或$O(nlogn)$

Problem D

设$f[i][j]$为$j$个球分成$i$段的乘积

首先不管环,考虑这样一个链,黑白黑白黑白黑白

反正就是保证:黑白段数相同,首尾两段颜色不一样

但是他是一个环,也就是,首尾两个球的颜色可以相同,那我们把最后那段的最后一个球,放到第一的位置的前面,

然后把倒数第二个球,再放到最前面,直到最后那段只剩下一个球了,也就是说这一条链的答案 可以产生最后一段长度的贡献

那这条链对答案的贡献就是$s_{1} * s_{2} * s_{3} * ... * s_{i - 1} * s_{i} * s{i}$

也就是最后一段平方一下,其他都不变

于是就DP另一个东西,设$g[i][j]$为$j$个球分成$i$段, 最后那段要平方一下的所有方案的乘积和

最后枚举段数,乘法原理搞一下就好了。

DP的时候用滚动数组优化,处理询问的时候对询问离线。

时间复杂度$O(n^{2})$

Problem E

Problem F

Problem G

Problem H

Problem I

设$f1[i]$为以$a[i]$结尾的最长上升子序列

设$f2[i]$为以$a[i]$开头的最长上升子序列

忽略掉$0$

首先注意到一个事实,假设不考虑$0$,原序列的LIS长度为$L$,总有$f(x) = L$ 或 $f(x) = L + 1$

对于某个正整数$a[i]$,考虑他前面的最右边的某个$0$,考虑这个数之前的所有正整数$a[j]$

我们要找到这样一个$j$,满足以下条件:

$1、f1[j] + f2[i] = L$;

$2、a[j] + 1 < a[i]$;

$3、a[j]$要最小。

找到这样的$a[j]$之后,对于所有的满足$a[j] < k < a[i]$的$k$,有$f(k) = L + 1$。

枚举$a[i]$, 在$O(logn)$的时间内完成上面的事情,然后差分标记一下即可。

时间复杂度$O(nlogn)$

Problem J

Problem K

2018 CCPC 湘潭邀请赛 & 2018 JSCPC的更多相关文章

  1. 湘潭邀请赛 2018 I Longest Increasing Subsequence

    题意: 给出一个长度为n的序列,序列中包含0.定义f(i)为把所有0变成i之后的Lis长度,求∑ni=1i⋅f(i). 题解: 设不考虑0的Lis长度为L,那么对于每个f(i),值为L或L+1. 预处 ...

  2. 湘潭邀请赛 2018 E From Tree to Graph

    题意: 给出一棵树以及m,a,b,x0,y0.之后加m条边{(x1,LCA(x1,y1)),(x2,LCA(x2,y2))...(xm,LCA(xm,ym))}.定义z = f(0)^f(1)^... ...

  3. 湘潭邀请赛 2018 D Circular Coloring

    题意: 给一个环,环上有n+m个点.给n个点染成B,m个点染成W.求所有染色情况的每段长度乘积之和. 题解: 染成B的段数和染成W的段数是一样的(因为是环). 第一段是可以移动的,例如BBWWW移动为 ...

  4. 2017 CCPC 湘潭邀请赛

    都tm快一年了我还没补这套题……再不补怕是要留给退役后乐 Problem A 把$n * (n + 1)$的矩阵补成$(n + 1) * (n + 1)$的,然后高斯消元. Problem B 一看题 ...

  5. ccpc湘潭邀请赛 Partial Sum

    选定最多m的区间,使区间和的绝对值最大.但是左右端点不能重复选取 首先涉及到区间和的问题,就应该想到用前缀和去优化 这里对前缀和排序 然后贪心的去选取最大.次大 (比赛的时候脑子堵的很,没想出来 可惜 ...

  6. 2018 CCPC网络赛

    2018 CCPC网络赛 Buy and Resell 题目描述:有一种物品,在\(n\)个地点的价格为\(a_i\),现在一次经过这\(n\)个地点,在每个地点可以买一个这样的物品,也可以卖出一个物 ...

  7. 2018 CCPC 桂林游记

    TYPE: Onsite Contest NAME: 2018 - CCPC - Guilin PLAT: HUSTOJ TIME: 2018/10/28 09:00-14:00 CST LOCA: ...

  8. 2018 CCPC 桂林站(upc复现赛)补题

    2018 CCPC 桂林站(upc复现赛)补题 G.Greatest Common Divisor(思维) 求相邻数的差值的gcd,对gcd分解素因子,对所有的素因子做一次遍历,找出最小答案. 几个样 ...

  9. 2018 CCPC 吉林站 H Lovers

    2018 CCPC 吉林站 H Lovers 传送门:https://www.spoj.com/problems/LIS2/en/ 题意: q次操作 1.将第l~r个数的左边和和右边都加上一个数d, ...

随机推荐

  1. 《Cracking the Coding Interview》——第9章:递归和动态规划——题目1

    2014-03-20 02:55 题目:小朋友跳台阶,每次跳1层或2层,那么跳N层总共有多少种跳法. 解法:斐波那契数列. 代码: // 9.1 A child can run up the stai ...

  2. USACO Section2.1 Hamming Codes 解题报告 【icedream61】

    hamming解题报告----------------------------------------------------------------------------------------- ...

  3. Git上手:Git扫盲区

    Git 自述Git 是由伟大的电脑程序员Linus Torvalds编写的一个开源的,分布式的版本控制系统软件. Git 核心原理Git 利用底层数据结构,通过指向索引对象的可变指针,保存文件快照. ...

  4. CodeSimth - .Net Framework Data Provider 可能没有安装。解决方法[转载 ]

    原文:http://www.cnblogs.com/chenrui7/p/3592082.html 今天想使用CodeSimth生成一个sqlite数据库的模板.当添加添加数据库的时候发现: .Net ...

  5. Linux学习15_CentOS6.5下netcat工具安装教程

    1.下载 下载地址:http://sourceforge.net/projects/netcat/files/netcat/0.7.1/ 下载的是netcat-0.7.1.tar.gz版本 2.拷贝 ...

  6. Centos安装后的一些必要处理工作

    1永久关闭selinux,修改成permissive或者disabled(建议),修改完需重启 2配置network 3.禁止ping(可选,一般不需要禁止)(默认为0位启用ICMP协议,1为禁止), ...

  7. altium designer同一工程多个原理图如何快速查找同一网络标号

    方法一:如果只知道网络标号的名称,尚未找到任何一个,可以:Ctrl+F,输入网络标号名称,可按顺序逐个查看各个网络标号. 方法二:如果已经看到一个所要查找的网络标号,可以:按住Alt键不放,鼠标左键单 ...

  8. ubuntu系统更换源

    一:问题概述 ubuntu,我们在使用apt新装软件的时候,会使用官方的网站去下载软件,但是会因为国内的转接点太多,而导致下载的速度非常慢 ,我们可以通过换成一些中间的节点来进行下载,比如阿里源,中科 ...

  9. 【NOI 2015网络同步赛】

    今年没法去.. 分数160+181+100(假设我有去考笔试)=441 分数线:金548 银459 铜331 并没有到银牌线.... 以后题目啊数据啊出来的话继续更新 2015.7.19

  10. BZOJ3143 [Hnoi2013]游走 【高斯消元】

    题目 一个无向连通图,顶点从1编号到N,边从1编号到M. 小Z在该图上进行随机游走,初始时小Z在1号顶点,每一步小Z以相等的概率随机选 择当前顶点的某条边,沿着这条边走到下一个顶点,获得等于这条边的编 ...