EOJ Monthly 2019.2
A 回收卫星
#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 ;
}
B 解题
#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 ;
}
C 魔板
D 进制转换
#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 ;
}
E 中位数
#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 ;
}
F 方差
#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的更多相关文章
- 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 秒 内存限制: ...
- 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( ...
- EOJ Monthly 2019.2 (based on February Selection) F.方差
题目链接: https://acm.ecnu.edu.cn/contest/140/problem/F/ 题目: 思路: 因为方差是用来评估数据的离散程度的,因此最优的m个数一定是排序后连续的,所以我 ...
- EOJ Monthly 2019.2 (based on February Selection) D.进制转换
题目链接: https://acm.ecnu.edu.cn/contest/140/problem/D/ 题目: 思路: 我们知道一个数在某一个进制k下末尾零的个数x就是这个数整除kx,这题要求刚好末 ...
- EOJ Monthly 2019.2 (based on February Selection) D 进制转换 【数学 进制转换】
任意门:https://acm.ecnu.edu.cn/contest/140/problem/D/ D. 进制转换 单测试点时限: 2.0 秒 内存限制: 256 MB “他觉得一个人奋斗更轻松自在 ...
- EOJ Monthly 2019.1 唐纳德先生与这真的是签到题吗 【数学+暴力+multiset】
传送门:https://acm.ecnu.edu.cn/contest/126/ C. 唐纳德先生与这真的是签到题吗 单测试点时限: 6.0 秒 内存限制: 1024 MB 唐纳德先生在出月赛的过程中 ...
- EOJ Monthly 2019.3 A
A. 钝角三角形 单点时限: 3.0 sec 内存限制: 512 MB QQ 小方以前不会判断钝角三角形,现在他会了,所以他急切的想教会你. 如果三角形的三边长分别为 a, b, c (a≤b≤c), ...
- eoj monthly 2019.11
原题 T1 纸条 题目大意: 给出一个长度为n的字符串,其中m位未知,对于每一位未知的字母,有k个备选字母,最终答案为备选字母按字典序排序后的第x个. 题解: 签到题-- 按照题目意思直接写就可以了. ...
- EOJ Monthly 2019.2 E. 中位数 (二分+dfs)
题目传送门 题意: 在一个n个点,m条边的有向无环图中,求出所有从1到n 的路径的中位数的最大值 一条路径的中位数指的是:一条路径有 n 个点, 将这 n 个点的权值从小到大排序后,排在位置 ⌊n2⌋ ...
随机推荐
- C语言第02次作业--循环结构
1.本章学习总结 1.1思维导图 1.2本章学习体会及代码量学习体会 1.2.1学习体会 1- 经过这两周的学习,我深切地体会C语言非常的难(对于我而言).大部分情况都是题目不理解和没有思路,或者编译 ...
- C# 链表反转
链表反转分这么两种情况, 一种是链表头节点始终前置,那这时候需要传一个头节点特有的标记:(简称:头不转) HEAD->Test1->Test2->Test3->Test4 反转 ...
- Python练习:小程序,列车出票程序
# 需求:列车某结车厢座位有15行,5列,初始状态均为'有票',当乘客选了座次,下单后,变更为'已售' # 下单时,要显示所有座位的状态(有票or已售) # 下单完毕后,显示下单后的座位状态. lin ...
- linux svn安装 及 常用命令
安装 yum -y install subversion svnserve --version 显示版本信息,则表示安装成功 mkdir /home/svn 创建版本库目录 svnadmin crea ...
- 单点登录(SSO)详解
背景 在企业发展初期,企业使用的系统很少,通常一个或者两个,每个系统都有自己的登录模块,运营人员每天用自己的账号登录,很方便.但随着企业的发展,用到的系统随之增多,运营人员在操作不同的系统时,需要多次 ...
- 31 Python中 sys.argv[]的用法简明解释(转)
Python中 sys.argv[]的用法简明解释 因为是看书自学的python,开始后不久就遇到了这个引入的模块函数,且一直在IDLE上编辑了后运行,试图从结果发现它的用途,然而结果一直都是没结果, ...
- Vue组件的定义、注册和调用
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>组 ...
- redis 在 php 中的应用(List篇)
本文为我阅读了 redis参考手册 之后编写,注意 php_redis 和 redis-cli 的区别(主要是返回值类型和参数用法) 目录: List(列表) LPUSH LPUSHX RPUSH R ...
- Excel 如何判断某列哪些单元格包含某些字符
“条件格式”,公式: =IF(COUNTIF($A2,,,) 然后根据需要设置格式
- MySQL高性能优化规范建议,速度收藏
数据库命令规范 •所有数据库对象名称必须使用小写字母并用下划线分割•所有数据库对象名称禁止使用 MySQL 保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来)•数据库对象的命名要能做到见 ...