网站主题有哪些内容,网站要懂代码,建网站做商城个体户资质可以,wordpress主题 站长最近在忙学校官网上的题#xff0c;就借此记录分享一下有价值的题#xff1a;
1.注意枚举角度 如果我们就对于不同的k常规的枚举#xff0c;复杂度直接炸了。
于是我们考虑换一个角度#xff0c;我们不妨从1开始枚举因子#xff0c;我们记录下他的倍数的个数sum个#…最近在忙学校官网上的题就借此记录分享一下有价值的题
1.注意枚举角度 如果我们就对于不同的k常规的枚举复杂度直接炸了。
于是我们考虑换一个角度我们不妨从1开始枚举因子我们记录下他的倍数的个数sum个
这样子我们就保证了最大gcd至少为他的个数有sum个。
然后我们从k1开始倒着输出即可。这里提供了一种求gcd的新的思路很有意思
这里提一下复杂度的问题外层为n里面为n/i;
对于学过高数的都知道他约为inn因此复杂度为nlogn就可以了。
下面是AC代码
#includebits/stdc.h
using namespace std;
int a[1000010],b[1000010],n,x,max1-1000000,ans[1005];
int main(){cinn;for(int i1;in;i){scanf(%d,x);a[x];max1max(max1,x);}for(int i1;imax1;i){for(int ji;jmax1;ji){if(j%i0) b[i]a[j];}}int k1;for(int jmax1;j1;j--){if(kn) break;if(b[j]k){k;printf(%d\n,j);j;continue;}}
}
2.注意等效 首先对于把n-1个数1其实就是等效于指定一个数-1.
然后我们考虑相等时的数是多少。
在这里我们应该还记得带权中位数的概念前面有讲我们相当于让这些权1的点走到某一点处总距离min我们只要求中位数即可。
3.水题 我们把划分两个序列区间看成向两个容器中按顺序添加值。
显然分值加不加就看最后一个数我们假设一个容器1最后为a,另一个容器2最后为b.ab)
此时要加进来的为c,如果ca,那么加在b后肯定更优。
如果cb那么加在b后肯定更优。
若bca,那么放在a后更优请看下面的分析