湘潭邀请赛 2018 D Circular Coloring】的更多相关文章

题意: 给一个环,环上有n+m个点.给n个点染成B,m个点染成W.求所有染色情况的每段长度乘积之和. 题解: 染成B的段数和染成W的段数是一样的(因为是环). 第一段是可以移动的,例如BBWWW移动为BWWWB. 所以处理两个方程:b[i][j]代表把j分成i段的乘积和且第一段不能移动:f[i][j]代表把j分成i段的乘积和且第一段可以移动. 那么枚举分成的段数,对于当前枚举分成i段,答案就为:f[i][n]*b[i][m]+f[i][m]*b[i][n]. 问题是方程怎么转移了. 对于b[i]…
题意: 给出一个长度为n的序列,序列中包含0.定义f(i)为把所有0变成i之后的Lis长度,求∑ni=1i⋅f(i). 题解: 设不考虑0的Lis长度为L,那么对于每个f(i),值为L或L+1. 预处理f[j],g[j]代表在第j个数结束和从第j个数开始的Lis长度. 对于(1~n)的每个j,找到一个最大的a[k](k>j且a[k]>a[j]),使得g[j]+f[k] = L且j和k之间存在0.那么(a[j],a[k])区间内的数的f()值即为L+1. 从后面往前扫,对于当前点j,vis[L-…
题意: 给出一棵树以及m,a,b,x0,y0.之后加m条边{(x1,LCA(x1,y1)),(x2,LCA(x2,y2))...(xm,LCA(xm,ym))}.定义z = f(0)^f(1)^...^f(n-1),其中f(i)代表删掉点i的连通块数.则xi = (axi-1+byi-1+z)%n,yi = (bxi-1+ayi-1+z)%n.求xm和ym. 题解: 维护每个点的度数.初始的点的度数即为删掉该点后的连通块数. 第i次加边(xi,LCA(xi,yi))中xi到LCA(xi,yi)的…
Problem A Problem B Problem C 这题用主席树轻松解决 可以二分答案,每次查询:也可以直接开个全局变量在主席树上二分: 时间复杂度$O(nlog^{2}n)$或$O(nlogn)$ Problem D 设$f[i][j]$为$j$个球分成$i$段的乘积 首先不管环,考虑这样一个链,黑白黑白黑白黑白 反正就是保证:黑白段数相同,首尾两段颜色不一样 但是他是一个环,也就是,首尾两个球的颜色可以相同,那我们把最后那段的最后一个球,放到第一的位置的前面, 然后把倒数第二个球,再…
湘潭邀请赛已经过去三个星期,蓝桥也在上个星期结束,今天也是时候写一下总结了,这应该也是我的退役总结了~ --------------------------------湘潭邀请赛------------------------------------------------- 5月13日正式赛,我们是5月12上午从学校出发中午一点半左右到的湘潭,然后去到宾馆稍微休息了一下就直接去报道以及准备热身赛了. 报道完就直接是热身赛了,4道题2小时,不知道是不是因为一路奔波+没吃午餐,热身赛爆零结束(真是…
湘潭邀请赛的一题,名字叫"超级FFT"最终暴力就行,还是思维不够灵活,要吸取教训. 由于每组数据总量只有1e5这个级别,和不超过1e6,故先预处理再暴力即可. #include<cstdio> #include<iostream> #include<cstdlib> #include<cstring> #include<string> #include<algorithm> #include<map>…
湘潭邀请赛的C题,哈密顿路径,边为有向且给定的所有边起点小于终点,怎么感觉是脑筋急转弯? 以后一定要牢记思维活跃一点,把复杂的事情尽量简单化而不是简单的事情复杂化. #include<cstdio> #include<iostream> #include<cstdlib> #include<cstring> #include<string> #include<algorithm> #include<map> #includ…
2017江苏省赛的E题,当时在场上看错了题目没做出来,现在补一下…… 题目链接:http://202.197.224.59/OnlineJudge2/index.php/Problem/read/id/1264(注意在上面使用G++编译的话,请使用%I64d) Time Limit : 3000 MS Memory Limit : 65536 KB Bobo has a integer sequence a1,a2,…,an of length n. Each time, he selects…
Circular Coloring 将n个0,m个1进行圆周排列,定义一个排列的权值为圆上所有相邻且相同的数字组成一段的段长的乘积,询问断环成链所有方案的权值之和,\(n,m\leq 5000\). 解 因为问题与区间划分有关,直接计数不好做,对序列上考虑,不妨设\(f[i][j]\)为前i个元素(相同的)划分j段的权值和,显然有 \[f[i][j]=\sum_{k=0}^{i-1}f[k][j-1](i-k)\] 这个方程是\(O(n^3)\),于是考虑优化,两种方法 法一: \[f[i][j…
A.HDU6276:Easy h-index Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1181    Accepted Submission(s): 415 Problem Description 比赛题目:http://acm.hdu.edu.cn/downloads/2018ccpc_hn.pdf The h-index of…
题目地址:https://www.icpc.camp/contests/6CP5W4knRaIRgU 比赛的时候知道这题是用主席树+二分,可是当时没有学主席树,就连有模板都不敢套,因为代码实在是太长了. 题意:给你一些数字,要求你某些区间中找到一个h-index. 每次查找h-index复杂度不能超过O(n) h-index的定义是:有最少h个数不小于h,找到最大的h. 分析:假如查询的区间长度为n,那么ans一定是1-n.用二分查找找到一个最大的n即可 #include <cstdio> #…
之前在网上搜了一个下午没搜到这道题的题解,然后同时又对着叉姐写的两行字题解看了一个下午: 虽然基本上已经知道了这题的思路,但愣是因为自己代码实现起来太繁复,外加不确定正确性,没敢码…… 但是一道题肝了一下午没肝出来,就要放弃的话,怕是太扎心了,忍不住就跑去ICPCCamp.Post问叉姐了(https://post.icpc-camp.org/d/715-2017-b-roads) 看了叉姐的对于我的几个问题的回复,我总算肯定了我的思路,而且叉姐还在下面给了标程,当时可以说心情非常愉悦: 听起来…
这道题可能有毒……总之一会儿能过一会儿不能过的,搞的我很心烦…… 依然是上次2017江苏省赛的题目,之前期末考试结束了之后有想补一下这道题,当时比较懵逼不知道怎么做……看了题解也不是很懂……就只好放弃了. 后来暑假里学了树形DP,做到了一道有关树的直径的题,把相关方面的知识点算是补了一下,不过当时没想起来这道题目. 今天白天(或者说昨天白天?太晚了233333)学了些有关最大流最小割的东西,想补一下省赛的B题(因为看题解上说的是在网络流……),然而发现题目都有点看不懂,简直不知道发生了什么……正…
是2017江苏省赛的第一题,当时在场上没做出来(废话,那个时候又不懂高斯消元怎么写……而且数论也学得一塌糊涂,现在回来补了) 省赛结束之后,题解pdf就出来了,一看题解,嗯……加一行再求逆矩阵从而得到伴随矩阵从而得到答案,emmmmm真是非常通俗易懂呢! 于是在回学校的路上强行回忆上学期学的线性代数,把这题题解的原理想通了,然后到现在把高斯消元法补了,才把这题做出来…… #include<cstdio> #include<algorithm> #define MAXN 205 #d…
http://202.197.224.59/OnlineJudge2/index.php/Problem/read/id/1246 题意: 有n只怪,每只怪有指定的HP.现在1和2两种攻击方式,前者扣2滴血,后者扣3滴血.输出f(0)+f(1)+...f(m), f(i)表示求在1攻击方式最多只能用 i 次的情况下2攻击方式的最少次数. 思路: 优先队列贪心. 优先选择x%3小的,相等时选择怪兽PH大的. #include<iostream> #include<algorithm>…
http://202.197.224.59/OnlineJudge2/index.php/Problem/read/id/1244 题意:有a个红球,b个绿球,c个黄球,先拿完a个红球一等奖,先拿完b个绿球二等奖,c个黄球三等奖.求各个奖获奖的概率. 思路: 分析首先拿完红球,即拿一等奖的概率: 我们假设拿完红球后继续拿,也就是拿完所有的球. 接下来逆向思考,红球不可能是最后一个,最后一个只可能是黄球或绿球,我们可以把摸出来的球的顺序逆置,比如(红,黄,红,绿,绿,黄,绿)逆置之后就是(绿,黄,…
训练的时候对G想了一个假算法..也有很大可能是写错了.. 下来一看别人的G 看起来很奇妙.. 开始把所有的左括号翻成右括号,然后cost*=-1 这样在优先队列中就是最优的 然后for每一段 如果前缀和小于0就从优先队列中取右括号翻转 最后的结果一定是一个可行的括号序列 1 如果所有的原左括号都被重新反转,那么我们的选择仍然是最优,因为实际上没有在这个上面消耗 2 如果原左括号没有都被反转回去 那么我们的实际消耗也是最少的 J题一看就能想出来nmmm的想法 但是很远..并没有想到nmm的 没想到…
都tm快一年了我还没补这套题……再不补怕是要留给退役后乐 Problem A 把$n * (n + 1)$的矩阵补成$(n + 1) * (n + 1)$的,然后高斯消元. Problem B 一看题解:费用流,于是这个题直接交给队友. Problem C 又是高斯消元…… Problem D 直接输出即可. #include <bits/stdc++.h> using namespace std; #define rep(i, a, b) for (int i(a); i <= (b)…
这套题是叉姐出的,好难啊,先扫一遍好像没有会做的题了,仔细一想好像D最容易哎 Super Resolution Accepted : 112   Submit : 178 Time Limit : 1000 MS   Memory Limit : 65536 KB  Super Resolution Bobo has an n×m picture consists of black and white pixels. He loves the picture so he would like t…
Alice and Bob Accepted : 133   Submit : 268 Time Limit : 1000 MS   Memory Limit : 65536 KB  Problem Description The famous "Alice and Bob" are playing a game again. So now comes the new problem which need a person smart as you to decide the winn…
选定最多m的区间,使区间和的绝对值最大.但是左右端点不能重复选取 首先涉及到区间和的问题,就应该想到用前缀和去优化 这里对前缀和排序 然后贪心的去选取最大.次大 (比赛的时候脑子堵的很,没想出来 可惜了) #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define ll long long int using namespace std; ll sum[1…
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=6534 题意: 给你一个数组,对于第i个数来说,如果存在一个位置j,使得j>i并且a[j]-k<=a[i]<=a[j]+k,那么这对数就称为好的,有q个询问,问你l到r区间有多少对好的数. 思路: 离线询问,想到可以用莫队维护区间,新加入元素(或删除元素)x时要统计区间[x-k,x+k]内的元素个数,想到 可以利用树状数组存元素个数(cnt)(权值数组),区间和就是元素个数,数据<=1e…
A - Easy $h$-index 后缀扫一下 #include <bits/stdc++.h> using namespace std; #define ll long long #define N 200010 int n; ll arr[N]; inline int work() { ll sum = ; ; --i) { sum += arr[i]; if (sum >= i) return i; } ; } int main() { while (scanf("%d…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6330 题目: 题意:给你长宽高,让你画出一个正方体. 思路:模拟即可,湘潭邀请赛热身赛原题,不过比那个容易很多,湘潭那个没写==,这个模拟还是很难受的,写了好久…… 代码实现如下: #include <set> #include <map> #include <queue> #include <stack> #include <cmath> #inc…
这是一道2016湘潭邀请赛的题目,记得那个时候看到这个题目就想到了最短生成树,然后给别人做,WA了,最后发现是有向图,然后我自己去写了个搜索,结果是RE吧 今天刚刚好想到这个题目,然后再来做,发现这个真的是个水题,但是当初看题目都没看懂,我也是醉了,题目都已经要求了是从第一个到最后一个的最短的路径,我们想岔了,然后鸭蛋... http://202.197.224.59/OnlineJudge2/index.php/Problem/read/id/1245 #include <stdio.h>…
原文地址:http://tieba.baidu.com/p/2432943599 前言: 即将进入研二,ACM的事情也渐渐远去,记忆终将模糊,但那段奋斗永远让人热血沸腾.开个贴讲讲ACM与中南的故事,当是宣泄,也当是一种宣传吧.多年不写作文,也不知如今的文笔能否打动更多的有志青年为中南ACM梦想而奋斗. 用时间序好了,不定时更新.一层楼对应一个时期或一年,有补充就在那层楼的中.也许真写起来故事不长,就这样吧.   1947年 ACM(Association for Computing Machi…
下午打了湘潭邀请赛,好像缓解了一下北京网络赛超强的自闭感.补一下这个图论题.(补了很久) 题意:给你一颗n节点的树,有m个操作,每次向xi和lca(xi,yi)连边,然后每次zi就是对于新的图在删除每一个点后连通块个数的异或和.然后求的是m次操作后x,y的值. 题解:看这个问题看了好久我都完全无从下手,题意也理解了半天,只知道有环prprpr,然后和x到lca这条链上的点有关系.但是感觉怎么都会T,就只能暴力更新.然后就看别人的题解,并且打开了画图软件,首先,对于一颗树每个点删除后产生的联通块个…
作为一名弱校的acm渣渣,在经历了三年的acm生涯后,现在终于要毕业了,最后也来总结下自己在这几年中做acm的经历与感受.以下是参赛总结: 2013年: ACM/ICPC长沙邀请赛(打铁=_=) ACM/ICPC区域赛湖南赛区(打铁=_=) 湖南省赛(银) 湘潭邀请赛(铜) 蓝桥杯(省二) 2014年: ACM/ICPC区域赛上海赛区(继续打铁...) 蓝桥杯(国二) 湖南省赛(金) 2015年: 区域赛长春赛区(银) 区域赛上海赛区(铜) 湖南省赛(金) 其他一些小7788的小比赛就不赘述了,…
大一进acm坑的,大一上就学了个c,下才学c++,不过 c 学完后学 c++ 感觉很简单,应该是大一下开学左右才开始刷题的,前面都在水???然后因为acm协会有各种月赛校赛什么的,班主任的提醒较多,所以到处划水刷题,毫无目的,可能是二本大家都不懂的缘故吧,没感觉有什么学习气氛,玩得比较多.然后因为基础题刷得比较多,竟然在第一次月赛取得第一,奖品是一本算法书,到现在还没看,,,然后一月过后的校赛,虽然一等奖,不过感觉题目好难啊,再后面,还有一次月赛,也还行吧,顺利进了暑假集训的队伍. 然后就是各种…
诡异的电梯[Ⅰ]时间限制:1000 ms | 内存限制:65535 KB难度:3 描述新的宿舍楼有 N(1≤N≤100000) 层 and M(1≤M≤100000)个学生. 在新的宿舍楼里, 为了节约学生的时间也为了鼓励学生锻炼身体, 所以规定该宿舍楼里的电梯在相邻的两层之间是不会连续停下(即,如果在第2层停下就不能在第3层停下.).所以,如果有学生在相邻的两层之间要停下, 则其中的一部分学生必须选择走楼梯来代替.规定:一个人走下一层楼梯的花费为A,走上一层楼梯的花费为B.(1≤A,B≤100…