2017 9 27 模拟赛 T2

原题题意:给出一个集合S,现满足以下关系:

实际题意:求32的n次方(这。。。)

时间: 2024-11-08 12:20:33

2017 9 27 模拟赛 T2的相关文章

2017/9/3模拟赛T2

题解:由于题目已经提示我们这是个单峰函数,所以很容易想到三分法,所以我们就枚举中位数,为保证平均数最大,左右两侧都从右往左取数. 代码如下: 1 #include<cstdio> 2 #include<iostream> 3 #include<algorithm> 4 #define MN 100005 5 using namespace std; 6 int n,a[MN],maxl,l,r,lm,rm; 7 long long sum[MN]; 8 double a

2017 9 27 模拟赛T1

题意简述: 求1-n中所有数的k次方的和,答案对1234567891取模. 样例输入格式: 一行,两个整数n,k 样例输出格式: 一个整数,即所求的和. 数据范围:n<10^9,k<100 这道题n非常大,即使是O(n)的算法也不能承受,但是此题的k却非常小,这也就提醒由k入手. 首先预处理前k+1个数的k次方的和,如果n<=k+1的话其实就可以直接输出a[0][n]了,不过我觉得出题人不会出这样的数据. 为什么是k+1个数呢?这是为了能处理一些差分的问题. 然后不断地计算每一行的差分,

2017 9 11 noip模拟赛T2

#include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int N=205; int map[N][N]; int d[N],tag[N],book[N],f[N]; int n,m; void work(int x) { memset(d,63,sizeof(d)); memset(book,0,sizeof(book)); memset(f,0,sizeof(

11.27 模拟赛

并没有人做的模拟赛... 出题人hx,,, T1:就是上一道矩阵乘法 数学题 T2: 一个数列中 一个区间满足,存在一个k(L <= k <= R),并且对于任意的i (L <= i <= R),ai都能被ak整除 这样的一个特殊区间 [L, R]价值为R - L 想知道序列中所有特殊区间的最大价值是多少,而有多少个这样的区间呢 这些区间又分别是哪些呢 输出每个区间的L 思路: 用两个ST表分别求一段区间的gcd和最小值 然后可以二分答案 check的时候枚举左端点,判断在这段区间

10.27 模拟赛

这一次终极被吊打 甚至没进前十 T2 最后改错 T3 没写正解 T1 elim 题目大意: n 行 m 列的游戏棋盘,一行或一列上有连续 三个或更多的相同颜色的棋子时,这些棋子都被消除 当有多处可以被消除时,这些地方的棋子将同时被消除 求消除后的棋盘 思路: sb模拟 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cstdlib> 5 #include<cm

2017 7.22 模拟赛

最水的一次模拟赛.. 点击查看题目 T1 求最后K位  那前面的数是没有比要求的 , 我们就把 10k 作为模数 ,对答案进行取模 就好了  #include <ctype.h> #include <cstdio> #define N 100005 typedef long long LL; void read(LL &x) { x=0;bool f=0; register char ch=getchar(); for(;!isdigit(ch);ch=getchar())

2017 6 11模拟赛

盘子序列 [题目描述] 有 n 个盘子.盘子被生产出来后,被按照某种顺序摞在一起.初始盘堆中如果一 个盘子比所有它上面的盘子都大,那么它是安全的,否则它是危险的.称初始盘堆为 A,另外有一个开始为空的盘堆 B.为了掩盖失误,生产商会对盘子序列做一些“处 理” ,每次进行以下操作中的一个:(1)将 A 最上面的盘子放到 B 最上面:(2)将 B 最上 面的盘子给你. 在得到所有n个盘子之后, 你需要判断初始盘堆里是否有危险的盘子. [输入格式] 输入文件包含多组数据(不超过 10 组) 每组数据的

2017/11/3模拟赛

块(block)[问题描述]拼图达人小 C 手里有 n 个 1*1 的正方形方块, 他希望把这些方块拼在一起, 使得拼出的图形周长最小, 要求方块不能重叠. 擅长拼图的小 C 一下就求出了这个周长, 顺便他想考考你会不会求.[输入格式]多组数据, 第一行一个正整数 T, 表示数据组数.接下来 T 行, 每行一个正整数 n, 表示方块数.[输出格式]输出 T 行, 每行一个正整数, 表示答案.[样例输入]3 4 1122[样例输出]81420[数据范围]对于 20%的数据, n<=20:对于 40

2.27模拟赛

pdf版题面 水题赛无题解 sol:可以用权值并查集搞,但感觉还是建图跑bfs比较容易 定义S[i]表示前缀和 读入a,b,c:就是S[a-1] + c=S[b],那就从a-1向b连一条c,b向a-1连一条-c 但这样有可能这张图并不联通,于是每次bfs时给节点染色,颜色不同显然to hard 询问随便处理下就可以了 /* S[3]-S[0]=10 S[3]-S[2]=5 */ #include <bits/stdc++.h> using namespace std; #define int