题解

回收卫星

#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. DOS特殊字符转义方法

    http://www.robvanderwoude.com/escapechars.php 期望得到的字符 转义后字符 说明 % %% May not always be required in do ...

  2. spring IOC 分析及实现

    什么是IOC Inversion of Control,控制反转,也成依赖倒置. 反转: 依赖对象的创建被反转,使用IOC之前,对象由自己创建,反转后,由IOC容器获取 IOC容器的工作: 负责创建, ...

  3. Centos7 关于防火墙的一些简单配置

    近期安装了linux系统Centos7,接触下来发现了与原来的Centos6.5有一些差别,这里主要记录下来我的一些关于Centos7防火墙的了解. 一.firewall简介 CentOS 7中防火墙 ...

  4. 详解UML中的6大关系(关联、依赖、聚合、组合、泛化、实现)

      UML中的6大关系相关英文及音标: 依赖关系 dependency --------> 关联关系 association ______> 聚合关系 aggregation ______ ...

  5. 贝叶斯公式由浅入深大讲解—AI基础算法入门

    1 贝叶斯方法 长久以来,人们对一件事情发生或不发生的概率,只有固定的0和1,即要么发生,要么不发生,从来不会去考虑某件事情发生的概率有多大,不发生的概率又是多大.而且概率虽然未知,但最起码是一个确定 ...

  6. python3下爬取网页上的图片的爬虫程序

    import urllib.request import re #py抓取页面图片并保存到本地 #获取页面信息 def getHtml(url): html = urllib.request.urlo ...

  7. rabbitMq及安装、fanout交换机-分发(发布/订阅)

    <dependency>            <groupId>com.rabbitmq</groupId>            <artifactId& ...

  8. vue-cli —— 局部修改Element样式

    最近在做vue项目时用到了Element,发现这玩意儿用起来很舒服,很新颖,上手也很快,而且效果足够酷炫.但是后面发现一个很大的问题,那就是Element的样式有限,这极大地限制了项目的应用广度,所以 ...

  9. vue.js把mounted里面的变量传到data里面

    data(){ return{ crux:[] //声明下变量 } }, mounted:function(){ var cruxs = localStorage.historyItems.split ...

  10. 与TIME_WAIT相关的几个内核参数

    问题 公司用浏览器访问线上服务一会失败一会成功,通过ssh连接服务器排查时发现ssh也是这样: 检查 抓包后发现建立连接的请求已经到了服务器,但它没有响应: 纠结了好久,后来在腾讯云技术支持及查了相关 ...