题解

回收卫星

#pragma GCC optimize(2)
#pragma GCC optimize(3)
#pragma GCC optimize(4)
#include<bits/stdc++.h>
using namespace std;
#define y1 y11
#define fi first
#define se second
#define pi acos(-1.0)
#define LL long long
//#define mp make_pair
#define pb push_back
#define ls rt<<1, l, m
#define rs rt<<1|1, m+1, r
#define ULL unsigned LL
#define pll pair<LL, LL>
#define pli pair<LL, int>
#define pii pair<int, int>
#define piii pair<pii, int>
#define pdd pair<double, double>
#define mem(a, b) memset(a, b, sizeof(a))
#define debug(x) cerr << #x << " = " << x << "\n";
#define fio ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
//head int main() {
LL l = , r = 2e9, m = l+r+ >> ;
int f;
while(l < r) {
cout << << " " << m << " " << << " " << << endl;
cin >> f;
if(f) l = m;
else r = m-;
m = l+r+ >> ;
}
LL x1 = m;
l = , r = 2e9, m = l+r+ >> ;
while(l < r) {
cout << << " " << -m << " " << << " " << << endl;
cin >> f;
if(f) l = m;
else r = m-;
m = l+r+ >> ;
}
LL x2 = -m;
LL x = (x1+x2)/;
l = , r = 2e9, m = l+r+ >> ;
while(l < r) {
cout << << " " << x << " " << m << " " << << endl;
cin >> f;
if(f) l = m;
else r = m-;
m = l+r+ >> ;
}
LL y1 = m;
l = , r = 2e9, m = l+r+ >> ;
while(l < r) {
cout << << " " << x << " " << -m << " " << << endl;
cin >> f;
if(f) l = m;
else r = m-;
m = l+r+ >> ;
}
LL y2 = -m;
LL y = (y1+y2)/;
l = , r = 2e9, m = l+r+ >> ;
while(l < r) {
cout << << " " << x << " " << y << " " << m << endl;
cin >> f;
if(f) l = m;
else r = m-;
m = l+r+ >> ;
}
LL z1 = m;
l = , r = 2e9, m = l+r+ >> ;
while(l < r) {
cout << << " " << x << " " << y << " " << -m << endl;
cin >> f;
if(f) l = m;
else r = m-;
m = l+r+ >> ;
}
LL z2 = -m;
LL z = (z1+z2)/;
cout << << " " << x << " " << y << " " << z << endl;
return ;
}

解题

#pragma GCC optimize(2)
#pragma GCC optimize(3)
#pragma GCC optimize(4)
#include<bits/stdc++.h>
using namespace std;
#define y1 y11
#define fi first
#define se second
#define pi acos(-1.0)
#define LL long long
//#define mp make_pair
#define pb push_back
#define ls rt<<1, l, m
#define rs rt<<1|1, m+1, r
#define ULL unsigned LL
#define pll pair<LL, LL>
#define pli pair<LL, int>
#define pii pair<int, int>
#define piii pair<pii, int>
#define pdd pair<double, double>
#define mem(a, b) memset(a, b, sizeof(a))
#define debug(x) cerr << #x << " = " << x << "\n";
#define fio ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
//head const int N = 1e6 + , M = 5e7 + ;
char s[N];
int pos[M], m;
int main() {
int q;
scanf("%s", s+);
int n = strlen(s+);
scanf("%d", &q);
while(q--) {
scanf("%d", &m);
int now = , l, r;
for (int i = ; i <= m; ++i) pos[i] = ;
int b = ;
for (int i = n; i >= ; i--) {
now = ((s[i]-'')*b + now) % m;
b = (b * ) % m;
if(now == ) {
l = i, r = n;
break;
}
if(pos[now]) {
l = i, r = pos[now]-;
break;
}
pos[now] = i;
}
printf("%d %d\n", l, r);
}
return ;
}

魔板

进制转换

#pragma GCC optimize(2)
#pragma GCC optimize(3)
#pragma GCC optimize(4)
#include<bits/stdc++.h>
using namespace std;
#define y1 y11
#define fi first
#define se second
#define pi acos(-1.0)
#define LL long long
//#define mp make_pair
#define pb push_back
#define ls rt<<1, l, m
#define rs rt<<1|1, m+1, r
#define ULL unsigned LL
#define pll pair<LL, LL>
#define pli pair<LL, int>
#define pii pair<int, int>
#define piii pair<pii, int>
#define pdd pair<double, double>
#define mem(a, b) memset(a, b, sizeof(a))
#define debug(x) cerr << #x << " = " << x << "\n";
#define fio ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
//head
const LL INF = 1e18 + ;
LL l, r;
int k, m;
LL solve(LL n) {
LL b = ;
for (int i = ; i <= m; ++i) {
if(INF/k >= b) b *= k;
else {
b = INF;
break;
}
}
LL bb = ;
if(INF/k >= b) bb = b*k;
else bb = INF;
return n/b - n/bb;
}
int main() {
int T;
scanf("%d", &T);
while(T--) {
scanf("%lld %lld %d %d", &l, &r, &k, &m);
printf("%lld\n", solve(r) - solve(l-));
}
return ;
}

中位数

#pragma GCC optimize(2)
#pragma GCC optimize(3)
#pragma GCC optimize(4)
#include<bits/stdc++.h>
using namespace std;
#define y1 y11
#define fi first
#define se second
#define pi acos(-1.0)
#define LL long long
//#define mp make_pair
#define pb push_back
#define ls rt<<1, l, m
#define rs rt<<1|1, m+1, r
#define ULL unsigned LL
#define pll pair<LL, LL>
#define pli pair<LL, int>
#define pii pair<int, int>
#define piii pair<pii, int>
#define pdd pair<double, double>
#define mem(a, b) memset(a, b, sizeof(a))
#define debug(x) cerr << #x << " = " << x << "\n";
#define fio ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
//head const int N = 1e6 + ;
const int INF = 0x3f3f3f3f;
vector<int> g[N];
int a[N], d[N], in[N];
int topo[N];
int n, m, u, v;
bool vis[N];
queue<int> q;
stack<int> st;
void Topo() {
for (int i = ; i <= n; ++i) {
if(in[i] == ) q.push(i);
}
int cnt = ;
while(!q.empty()) {
int u = q.front();
topo[++cnt] = u;
q.pop();
for (int v : g[u]) {
in[v]--;
if(in[v] == ) q.push(v);
}
}
}
bool ck(int m) {
for (int i = ; i <= n; ++i) d[i] = -INF;
d[] = ((a[] >= m)? : -);
for (int i = ; i <= n; ++i) {
int u = topo[i];
if(!vis[u]) continue;
for (int v : g[u]) {
d[v] = max(d[v], d[u]+((a[v] >= m)? : -));
}
}
return d[n] >= ;
}
int main() {
scanf("%d %d", &n, &m);
for (int i = ; i <= n; ++i) scanf("%d", &a[i]);
for (int i = ; i <= m; ++i) {
scanf("%d %d", &u, &v);
g[u].pb(v);
in[v]++;
}
Topo();
st.push();
while(!st.empty()) {
int u = st.top();
st.pop();
if(vis[u]) continue;
vis[u] = true;
for (int v : g[u]) {
if(!vis[v]) st.push(v);
}
}
if(!vis[n]) {
puts("-1");
exit();
}
int l = , r = 1e9, mid = l+r+ >> ;
while(l < r) {
if(ck(mid)) l = mid;
else r = mid-;
mid = l+r+ >> ;
}
printf("%d\n", mid);
return ;
}

方差

#pragma GCC optimize(2)
#pragma GCC optimize(3)
#pragma GCC optimize(4)
#include<bits/stdc++.h>
using namespace std;
#define y1 y11
#define fi first
#define se second
#define pi acos(-1.0)
#define LL long long
//#define mp make_pair
#define pb push_back
#define ls rt<<1, l, m
#define rs rt<<1|1, m+1, r
#define ULL unsigned LL
#define pll pair<LL, LL>
#define pli pair<LL, int>
#define pii pair<int, int>
#define piii pair<pii, int>
#define pdd pair<double, double>
#define mem(a, b) memset(a, b, sizeof(a))
#define debug(x) cerr << #x << " = " << x << "\n";
#define fio ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
//head const LL INF = 0x7f7f7f7f7f7f7f7f;
const int N = 1e6 + , M = 1e3 + ;
int a[N], cnt[M], sum[M];
int main() {
int n, m;
scanf("%d %d", &n, &m);
for (int i = ; i <= n; ++i) scanf("%d", &a[i]);
LL ans = INF, x = , y = ;
sort(a+, a++n);
for (int i = ; i <= n; ++i) {
if(i <= m) {
x += 1LL*a[i]*a[i];
y += a[i];
}
else {
x -= 1LL*a[i-m]*a[i-m];
x += 1LL*a[i]*a[i];
y -= a[i-m];
y += a[i];
}
if(i >= m) ans = min(ans, m*x - y*y);
}
printf("%lld\n", ans);
return ;
}

EOJ Monthly 2019.2的更多相关文章

  1. EOJ Monthly 2019.2 题解(B、D、F)

    EOJ Monthly 2019.2 题解(B.D.F) 官方题解:https://acm.ecnu.edu.cn/blog/entry/320/ B. 解题 单测试点时限: 2.0 秒 内存限制:  ...

  2. EOJ Monthly 2019.11 E. 数学题(莫比乌斯反演+杜教筛+拉格朗日插值)

    传送门 题意: 统计\(k\)元组个数\((a_1,a_2,\cdots,a_n),1\leq a_i\leq n\)使得\(gcd(a_1,a_2,\cdots,a_k,n)=1\). 定义\(f( ...

  3. EOJ Monthly 2019.2 (based on February Selection) F.方差

    题目链接: https://acm.ecnu.edu.cn/contest/140/problem/F/ 题目: 思路: 因为方差是用来评估数据的离散程度的,因此最优的m个数一定是排序后连续的,所以我 ...

  4. EOJ Monthly 2019.2 (based on February Selection) D.进制转换

    题目链接: https://acm.ecnu.edu.cn/contest/140/problem/D/ 题目: 思路: 我们知道一个数在某一个进制k下末尾零的个数x就是这个数整除kx,这题要求刚好末 ...

  5. EOJ Monthly 2019.2 (based on February Selection) D 进制转换 【数学 进制转换】

    任意门:https://acm.ecnu.edu.cn/contest/140/problem/D/ D. 进制转换 单测试点时限: 2.0 秒 内存限制: 256 MB “他觉得一个人奋斗更轻松自在 ...

  6. EOJ Monthly 2019.1 唐纳德先生与这真的是签到题吗 【数学+暴力+multiset】

    传送门:https://acm.ecnu.edu.cn/contest/126/ C. 唐纳德先生与这真的是签到题吗 单测试点时限: 6.0 秒 内存限制: 1024 MB 唐纳德先生在出月赛的过程中 ...

  7. EOJ Monthly 2019.3 A

    A. 钝角三角形 单点时限: 3.0 sec 内存限制: 512 MB QQ 小方以前不会判断钝角三角形,现在他会了,所以他急切的想教会你. 如果三角形的三边长分别为 a, b, c (a≤b≤c), ...

  8. eoj monthly 2019.11

    原题 T1 纸条 题目大意: 给出一个长度为n的字符串,其中m位未知,对于每一位未知的字母,有k个备选字母,最终答案为备选字母按字典序排序后的第x个. 题解: 签到题-- 按照题目意思直接写就可以了. ...

  9. EOJ Monthly 2019.2 E. 中位数 (二分+dfs)

    题目传送门 题意: 在一个n个点,m条边的有向无环图中,求出所有从1到n 的路径的中位数的最大值 一条路径的中位数指的是:一条路径有 n 个点, 将这 n 个点的权值从小到大排序后,排在位置 ⌊n2⌋ ...

随机推荐

  1. windows10上安装mysql(详细步骤)

    2016年09月06日 08:09:34 阅读数:46198 环境:windwos 10(1511) 64bit.mysql 5.7.14 时间:2016年9月5日 一.下载mysql 1. 在浏览器 ...

  2. 6#day2总结

    一次小小的总结https://github.com/DuGuQiuBai/Java/blob/master/day02/day02%E6%80%BB%E7%BB%93.txt 1:常量(掌握) (1) ...

  3. php实现栈操作(不用push pop 库函数)

    直接上代码 <?php /*php不用库函数实现栈操作 * @author Geyaru 2019-04-20 */ class stack{ private $top = -1; //栈指针初 ...

  4. Ubuntu 16.04 安装 Apache, MySQL, PHP7.2

    先更新系统 sudo apt update 安装PHP 通过修改PPA源的方式来安装 sudo apt-get install software-properties-common python-so ...

  5. 微信网页浏览器打开链接后跳转到其他浏览器下载APK文件包

    做微信营销活动或者APK下载推广时候,是无法直接下载,做到微信中正常使用呢?这就要借助一些工具来实现有效的操作. 安卓手机的话是通过点击链接,直接跳转出微信.自动打开手机默认的浏览器.但是这个方法IO ...

  6. <转载>XML操作

    using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Tex ...

  7. GIL

    GIL(Global Interpreter Look):全局解释器锁,为了避免线程竞争资源造成数据错乱. 其实每个py程序都必须有解释器参加,解释器就是一堆代码,就等于多线程要竞争同一个解释器的代码 ...

  8. 非常不错的svg教程

    介绍的非常详细,也很有调理,内容很详细 适合于初学者学习 http://www.softwhy.com/qiduan/SVG_source/

  9. 关于element组件中分页的一些个人思路

    最近在用element,用到了它的分页这个组件,我这边的情况是,我前端请求数据,数据大概有20个的样子,把数据存在data的一个数组里面,用一个v-for循环遍历数组内容,并用div装起来,这样20个 ...

  10. 组件 restful_API

    1 token 认证 2 权限 3 注册器和响应 4 频率组件