2019ICPC南昌现场赛总结】的更多相关文章

非常可惜的一场比赛,多了60分钟罚时与银牌无缘.今年6场ICPC网络赛里面打的最差的就是南昌站,冥冥之中自有天意吧,最后被安排去了南昌. 开场被队友叫去先看的L,说是足球,发现就是简单模拟,就直接上机写,要交的时候回忆了下感觉不太对.按我读题的题意理解是积分相同比较进球数,但是实际足球规则是比较净胜球,然后回去读了下题意,发现那个单词的意思貌似是净胜球,我读错了,然后快速改完代码就交了,虽然因为确认题意多花了点时间,不过还好没吃20分钟罚时.然后zz说C题公式推出来了,是二项式定理,就让zz去打…
线段树+单调栈+前缀和--2019icpc南昌网络赛I Alice has a magic array. She suggests that the value of a interval is equal to the sum of the values in the interval, multiplied by the smallest value in the interval. Now she is planning to find the max value of the inter…
题意 给定一个序列,两种操作,单点修改,询问区间\([l,r]\)值域在\([x,y]\)范围内的连续段个数. 分析 原数组为\(a\),构造一个新的数组\(b\),\(b[i]=(a[i]==a[i-1])?0:a[i]\),这样将连续段转化为左端点的一个数来表示. 询问就可以转化为维护\(b\)数组,单点修改和询问区间在某个值域内的数的个数,用树状数组套权值线段树. 类似于差分的思想,对于询问\(l,r\),我们要查询的是\(b\)数组的\([l+1,r]\),因此会漏掉\(a[l]\)这个…
打的很崩的一场比赛.上来签到题我就wa了一发,感觉在梦游.然后我开了H题,队友开B题,f(n)=3f(n-1)+2f(n)傻子都知道矩阵快速幂,但是1e7的强制在线必须把logn优化,然后试图打表寻找循环节,也没找到,然后对矩阵进行研究,看着矩阵快速幂 $\left(\begin{matrix}3 & 2 \\1 & 0 \end{matrix}\right)$这个矩阵长得挺好看的,试图寻找O(1)计算出 $\left(\begin{matrix}3 & 2 \\1 & 0…
B. Fire-Fighting Hero (dijstra优先队列+bfs) 题意:刚开始看错题了,以为是k次dijkstra,但是wa了,后来队友指正后发现挺水的.求S到其它点的最短路的最大值ans1,然后求其它点到指定k个点之一的最短路的最大值ans2.比较ans1和ans2即可. 思路:用dijstra优化队列求ans1,k次优先队列bfs求ans2即可. AC code: #include<cstdio> #include<algorithm> #include<c…
题意:给出一个字符串,每次询问一个区间[l,r],求使得这个区间含有9102但不含有8102最少要删掉几个字符 首先我们考虑将串反转,这样就变成了含有2019但不含有2018的问题了 我们构建一个状态数为5的自动机 状态0:字符集为空 状态1:字符集为2 状态2:字符集为20 状态3:字符集为201 状态4:字符集为2019 每加入一个字符就为对应的两个状态连一条边 两个字串合并我们只需对两个字符串的自动机进行一次dp即可 这样我们维护一个自动机的线段树,每个区间维护一个子串的自动机 查询的时候…
题意 2e5的数组,q个操作 1.将\(a[x]\)改为y 2.求下标l到r内所有的\(a[i]\)通过加法不能构成的最小的值 思路 通过二操作可以知道需要提取l到r内的值及其数量,而提取下标为l到r内的元素是一定要用主席树的 而用树状数组套上主席树即可实现修改操作 剩下需要解决的就是二操作: 首先只有有至少一个1,才能构成1 假设已经可以构成[1,x],设当前区间内值为[1,x+1]的和为sum 那显然我们就能构成[1,sum]了,如果sum==x,那么答案就是x+1 这个过程可以直接暴力,最…
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=4803 Problem Description Jenny is a warehouse keeper. He writes down the entry records everyday. The record is shown on a screen, as follow:There are only two buttons on the screen. Pressing the button i…
题目链接 题意:给定一个很大的数,把他们分为数个回文数的和,分的个数不超过50个,输出个数并输出每个数,special judge. 题解:现场赛的时候很快想出来了思路,把这个数从中间分为两部分,当位数为偶数的时候3456就分为34和56,34-1=33,回文数3333,3456-3333=123然后继续算:当位数为奇数的时候34567就分为34和67,5-1=4,回文数34443,34567-34443=124然后继续算.但是一年都没有写过高精度减法的题了,这个大模拟写了很久最后判断奇偶性都判…
杭州现场赛的题.BFS+DFS #include <iostream> #include<cstdio> #include<cstring> #define inf 9999999 using namespace std; char mp[105][105]; int sq[5][5]; int step[4][2]={{0,1},{1,0},{0,-1},{-1,0}}; struct pos { int x,y; }; int n,m,prn,x,y,tmp,ans…