02 2018 档案

摘要:题目链接:D. Inna and Sequence 题意:三种操作,1往序列后面加个1,0往序列后面加个0,-1,把给定位置上的数删除。 题解:用树状数组保存的数没被删的个数,每次二分找到位置,然后用数组标记这里被删除。 阅读全文
posted @ 2018-02-06 20:54 lhclqslove 阅读(132) 评论(0) 推荐(0)
摘要:题目链接:H - Binary Lexicographic Sequence 题意: Consider all the sequences with length (0 < N < 44), containing only the elements 0 and 1, and no two ones 阅读全文
posted @ 2018-02-06 18:57 lhclqslove 阅读(139) 评论(0) 推荐(0)
摘要:题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1586 题解:dp[i][j][k]表示长度为i,最高位为j,次高位为k的合法方案数,转移方程为当j*100+k*10+l为质数时dp[i][j][k]+=dp[i-1][k][l]; 阅读全文
posted @ 2018-02-04 13:34 lhclqslove 阅读(116) 评论(0) 推荐(0)
摘要:题目链接:G. List Of Integers 题意:给你x,p,k,问你比x大的于p互质的第k个数. 题解:我们二分答案,如何判断呢,我们先的会算1~n于p互质的个数,不会的可以看这个,其他就很简单了。 阅读全文
posted @ 2018-02-04 09:53 lhclqslove 阅读(129) 评论(0) 推荐(0)
摘要:题目链接:F. SUM and REPLACE 题意:给一个数组,两种操作,第一种把[L,R]的数变成这个数的因子个数(这个是log级别的下降),第二种求[L,R]的和 题解:我们发现当数字到1或2后就不会更改,我们用两个线段树,一个维护和,一个维护区间最大值,当区间的最大值小于等于2的时候就可以不 阅读全文
posted @ 2018-02-04 09:43 lhclqslove 阅读(118) 评论(0) 推荐(0)
摘要:题目链接:E. Connected Components? 题意:给你一个图补图的边问原图有多少个组成部分,以及每个组成部分的大小 题解:用set保存还没遍历的点每次从一个没被遍历的点出发做一次bfs统计个数就可以了。 阅读全文
posted @ 2018-02-04 09:31 lhclqslove 阅读(111) 评论(0) 推荐(0)
摘要:题目链接:C. Swap Adjacent Elements 题意:给你一个1~n的序列,然后一个n-1长的01串,为一代表可以和后面一个位置的数交换。问你能否通过交换是序列从小到大; 题解:统计每个数字的位置p[i],我们想要一个数字现能够回到原来的位置i必须max(i,p[i])-1到min(i 阅读全文
posted @ 2018-02-04 09:23 lhclqslove 阅读(118) 评论(0) 推荐(0)
摘要:题目链接:E. GukiZ and GukiZiana 题解:分块处理,更新处理用lazy数组具体过程看代码,用结构体保存位置和值,重载一下运算符按值小的优先,值相同按位置小的优先,用pair也可以,对每一块里的结构体都sort一次,然后从前往后在没一块里二分找第一个位置,找不到就输出-1,然后从后 阅读全文
posted @ 2018-02-01 19:45 lhclqslove 阅读(122) 评论(0) 推荐(0)
摘要:题目链接:2957: 楼房重建 分块没学过的可以看,分块入门。 题解:把房子分成√n块每块里面维护一个递增的子序列,每次更新之后,在每一个小块内二分查找第一个大于前面最大的斜率,开始斜率为0,每次找完一块更新一次,暴力加进答案。 阅读全文
posted @ 2018-02-01 19:28 lhclqslove 阅读(123) 评论(0) 推荐(0)
摘要:分块能够维护线段树没法处理的题,分块的思维简单说就是把整个序列分√n块分开处理,复杂一般减成o(n√n) 分块一般用到的东西 block 每一块的大小 num块的个数 belong[maxn] belong[i]代表i属于哪一块 L[maxn] L[i]代表i这一块的左边界 R[maxn] R[i] 阅读全文
posted @ 2018-02-01 19:27 lhclqslove 阅读(119) 评论(0) 推荐(0)