【BZOJ】2277: [Poi2011]Strongbox】的更多相关文章

题意 有一个密码箱,\(0\)到\(n-1\)中的某些整数是它的密码.如果\(a\)和\(b\)都是它的密码,那么\((a+b)%n\)也是它的密码(\(a,b\)可以相等).某人试了\(k\)次密码,前\(k-1\)次都失败了,最后一次成功了.该密码箱最多有多少不同的密码. 分析 假设集合\(s\)为答案,则令\(g=gcd(s_i)\),则显然\(kg, k \ge 0\)都是答案.一共有\(\frac{n}{g}\)个. 所以我们找一个最小的\(g\),满足\(g|n, g|a_n, g…
题意 给一个长度为\(n\)的序列\(a_i\),对于每个\(1 \le i \le n\),找到最小的非负整数\(p\)满足 对于任意的\(j\), \(a_j \le a_i + p - \sqrt{|i-j|}\) 分析 我们正反dp一下. 题解 令\(d(i)\)表示最小的\(p\),则\(d(i) = max(a_j+\sqrt{i-j})-a_i, j < i\). 其实发现这是有决策单调性的.即对于决策\(j\)和\(k(j > k)\),如果\(j\)在\(i\)时比\(k\)…
题意 给一棵\(n(1 \le n \le 200000)\)个叶子的二叉树,可以交换每个点的左右子树,要求前序遍历叶子的逆序对最少. 分析 可以发现如果交换非叶结点的左右子树,对子树内的交换无影响,对子树外的交换也无影响,所以答案的贡献只是左子树与右子树之间是否交换得到的最小的逆序对数. 题解 考虑分治,对于一个点\(x\),我们只需要将其其中的一个子树的叶子插入到bit中,然后用另一个子树的叶子就能求得其逆序对数.那么发现一个点在遍历过程中可能插入的次数不只1次,对复杂度的影响主要就是重复插…
2277: [Poi2011]Strongbox Time Limit: 60 Sec  Memory Limit: 32 MBSubmit: 527  Solved: 231[Submit][Status][Discuss] Description Byteasar is a famous safe-cracker, who renounced his criminal activity and got into testing and certifying anti-burglary dev…
整体二分+树状数组 过了[BZOJ][2527][POI2011]Meteors以后这题就没那么难啦~ 关键是[从小到大]依次插入数字,然后整体二分每个查询的第k大是在第几次插入中被插入的……嗯大概就是这样 /************************************************************** Problem: 2738 User: Tunix Language: C++ Result: Accepted Time:11852 ms Memory:7216…
http://www.lydsy.com/JudgeOnline/problem.php?id=3052 题意:n个带颜色的点(m种),q次询问,每次询问x到y的路径上sum{w[次数]*v[颜色]},可以单点修改颜色.(n, m, q<=100000) #include <bits/stdc++.h> using namespace std; const int N=100005, M=100005; typedef long long ll; inline int getint()…
http://www.lydsy.com/JudgeOnline/problem.php?id=3319 题意:给一棵n节点的树(n<=1e6),m个操作(m<=1e6),每次操作有两种:1.查询u到根的第一条黑边的编号.2.将u到v的路径全部染成黑色 #include <cstdio> #include <cstring> #include <cmath> #include <string> #include <iostream>…
http://www.lydsy.com/JudgeOnline/problem.php?id=3319 以为是模板题就复习了下hld............................. 然后nlg^2n被tle成翔了.............................. 然后看题解QAQ,,,这... 神题做法...待会再写...(upd:[BZOJ]3319: 黑白树) tle的hld: #include <cstdio> #include <cstring> #i…
[BZOJ]1013: [JSOI2008]球形空间产生器sphere 题意:给n+1个n维的点的坐标,要你求出一个到这n+1个点距离相等的点的坐标: 思路:高斯消元即第i个点和第i+1个点处理出一个式子,这样n+1个点正好有n个系数的n元变量,即可求解. 式子:Σ( (a[i][j] - x[j])^2 )  = Σ( a[i+1][j] - x[j])^2 ) =>   Σ( x[j]*[2*(a[i+1][j]-a[i][j])] ) = Σ(a[i+1][j]*a[i+1][j] - a…
Description 轮状病毒有很多变种,所有轮状病毒的变种都是从一个轮状基产生的.一个N轮状基由圆环上N个不同的基原子和圆心处一个核原子构成的,2个原子之间的边表示这2个原子之间的信息通道.如下图所示: N轮状病毒的产生规律是在一个N轮状基中删去若干条边,使得各原子之间有唯一的信息通道,例如共有16个不同的3轮状病毒,如下图所示: 现给定n(N<=100),编程计算有多少个不同的n轮状病毒. Input 第一行有1个正整数n. Output 计算出的不同的n轮状病毒数输出. Sample I…