原题链接: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…
HDU6534 Chika and Friendly Pairs 莫队,树状数组的简单题 #include<bits/stdc++.h> using namespace std; const int maxn = 30005; const int maxq = 27005; int n, m, k, num, sz, len; int a[maxn], belong[maxn], t[maxn], tree[maxn], ans[maxq]; int lowerl[maxn], lowerr[…
这个题其实也是很简单的莫队,题目要求是给一个序列,询问l-r区间内部,找到有多少对答案满足 i < j 并且 | a[ i ] -a[ j ] | <=k 也就是有多少对,满足差值小于k的个数. 把这个式子展开,其实就是-k<= a[ i ] -a [ j ] <= k 也就是  a[ j ] -k <= a[ i ] <= a[ j ] + k,也就是说,对于某个 j 位置,我们需要在询问的区间内,找到 i < j 并且在[ a[j] -k ,a[j] +k ]…
链接: https://vjudge.net/contest/308446#problem/C 题意: Chika gives you an integer sequence a1,a2,-,an and m tasks. For each task, you need to answer the number of " friendly pairs" in a given interval. friendly pair: for two integers ai and aj, if…
湘潭邀请赛的一题,名字叫"超级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…
湘潭邀请赛已经过去三个星期,蓝桥也在上个星期结束,今天也是时候写一下总结了,这应该也是我的退役总结了~ --------------------------------湘潭邀请赛------------------------------------------------- 5月13日正式赛,我们是5月12上午从学校出发中午一点半左右到的湘潭,然后去到宾馆稍微休息了一下就直接去报道以及准备热身赛了. 报道完就直接是热身赛了,4道题2小时,不知道是不是因为一路奔波+没吃午餐,热身赛爆零结束(真是…
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…
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的 没想到…
题意: 给出一个长度为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)的…
题意: 给一个环,环上有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]…
Problem A Problem B Problem C 这题用主席树轻松解决 可以二分答案,每次查询:也可以直接开个全局变量在主席树上二分: 时间复杂度$O(nlog^{2}n)$或$O(nlogn)$ Problem D 设$f[i][j]$为$j$个球分成$i$段的乘积 首先不管环,考虑这样一个链,黑白黑白黑白黑白 反正就是保证:黑白段数相同,首尾两段颜色不一样 但是他是一个环,也就是,首尾两个球的颜色可以相同,那我们把最后那段的最后一个球,放到第一的位置的前面, 然后把倒数第二个球,再…
都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…
A. Chessboard 做法1 单纯形. 做法2 最大费用可行流问题,行列模型. 对每行建一个点,每列建一个点.物品 \(i\) 在 \((r,c)\),那么 \(r\) 向 \(c\) 连流量为 1 费用为 \(i\) 的边. 若第 i 至第 inf 行可选择物品上界为 k.那么 i-1 行向 i 行连流量为 k 的边,源点向第 0 行连流量为 inf 的边.列同理. B. Build Tree 贪心,把边权小的边,深度小. C. Chika and Friendly Pairs 对询问离…
这是一道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,就只能暴力更新.然后就看别人的题解,并且打开了画图软件,首先,对于一颗树每个点删除后产生的联通块个…
Problem Statement On a two-dimensional plane, there are N red points and N blue points. The coordinates of the i-th red point are (ai,bi), and the coordinates of the i-th blue point are (ci,di). A red point and a blue point can form a friendly pair w…
作为一名弱校的acm渣渣,在经历了三年的acm生涯后,现在终于要毕业了,最后也来总结下自己在这几年中做acm的经历与感受.以下是参赛总结: 2013年: ACM/ICPC长沙邀请赛(打铁=_=) ACM/ICPC区域赛湖南赛区(打铁=_=) 湖南省赛(银) 湘潭邀请赛(铜) 蓝桥杯(省二) 2014年: ACM/ICPC区域赛上海赛区(继续打铁...) 蓝桥杯(国二) 湖南省赛(金) 2015年: 区域赛长春赛区(银) 区域赛上海赛区(铜) 湖南省赛(金) 其他一些小7788的小比赛就不赘述了,…