Codeforces Round #440 (Div. 2)【A、B、C、E】
Codeforces Round #440 (Div. 2)
codeforces 870 A. Search for Pretty Integers(水题)
题意:给两个数组,求一个最小的数包含两个数组各至少一个数。
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int n, m;
int a[], b[];
int main() {
int i, j, x = , y = , s = ;
scanf("%d%d", &n, &m);
for(i = ; i <= n; ++i) {
scanf("%d", &a[i]); if(a[i] < x) x = a[i];
}
for(i = ; i <= m; ++i) {
scanf("%d", &b[i]); if(b[i] < y) y = b[i];
for(j = ; j <= n; ++j)
if(a[j] == b[i] && b[i] < s) s = b[i];
}
if(s < ) printf("%d\n", s);
else {
if(x > y) swap(x, y);
printf("%d%d\n", x, y);
}
return ;
}
31ms
codeforces 870 B. Maximum of Maximums of Minimums(模拟)
题意:给一排N个数,要求分割成K份,每份里面取出最小的数,再从取出的这些数中求最大的数,,求能得到的最大的数。
题解:K=1时答案即为最小的数,K≥3时,答案为这排数中最大的数,K=2时,就是两端 两个数的最大的一个。
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N = ;
int n, m;
int a[N];
int main() {
int i, j, mi = , ma = -;
scanf("%d%d", &n, &m);
for(i = ; i <= n; ++i) {
scanf("%d", &a[i]);
if(a[i] < mi) mi = a[i];
if(a[i] > ma) ma = a[i];
}
if(m==) printf("%d\n", mi);
else if(m==) printf("%d\n", max(a[], a[n]));
else printf("%d\n", ma);
return ;
}
31ms
codeforces 870 C. Maximum splitting(数学)
题意:一个数拆分成几个合数之和,求最多能拆分成几个数之和。
题解:合数为4,6,9最优咯。
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int main() {
int t, n;
scanf("%d", &t);
while(t--) {
scanf("%d", &n);
int ans = ;
if(n & ) {
n -=; ans++;
}
if(n < && n != ) puts("-1");
else {
ans += n/;
printf("%d\n", ans);
}
}
return ;
}
61ms
codeforces 870 E. Points, Lines and Ready-made Titles(思维)
题意:对每个点,可以绘制一条垂直线,或一条水平线,或什么都不做。几条重合的直线是一条直线,求可以得到多少个不同的图片。
题解:排序,将同一行的用并查集合并,再将同一列的也合并,假设一个集合的点在原图的不重复行列数为s,如果该集合的点在原图中不能形成环,则该集合的贡献是2^s-1(少一种是环的图形),否则贡献为2^s。
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
typedef long long ll;
const int N = ;
const ll mod = 1e9+;
int f[N], r1[N], r2[N];
struct node {
int x, y, id;
}p[N];
int cmp1(node a, node b) {return a.x < b.x;}
int cmp2(node a, node b) {return a.y < b.y;}
int fin(int x) {
if(f[x]!=x) f[x] = fin(f[x]);
return f[x];
}
void uni(int x, int y) {
if((x=fin(x)) == (y=fin(y))) r2[y]++;
else {
f[x] = y;
r1[y] += r1[x];
r2[y] += r2[x] + ;
}
}
int main() {
int n, i, j;
ll ans = ;
ll a[*N]; a[] = 1ll;
for(i = ; i < *N; ++i) a[i] = (a[i-] * ) % mod;
scanf("%d", &n);
memset(r2, , sizeof(r2));
for(i = ; i <= n; ++i) {
scanf("%d%d", &p[i].x, &p[i].y);
p[i].id = i;
f[i] = i;
r1[i] = ;
}
sort(p+, p++n, cmp1);
for(i = ; i <= n; ++i)
if(p[i].x == p[i-].x) uni(p[i].id, p[i-].id);
sort(p+, p++n, cmp2);
for(i = ; i <= n; ++i)
if(p[i].y == p[i-].y) uni(p[i].id, p[i-].id); for(i = ; i <= n; ++i)
if(f[i] == i) {
if(r1[i] == r2[i]+) ans = ans * (ll)(a[r1[i]+] - ) % mod;
else ans = ans * (ll)(a[*r1[i] - r2[i]]) % mod;
}
printf("%lld\n", ans);
return ;
}
93ms
Codeforces Round #440 (Div. 2)【A、B、C、E】的更多相关文章
- Codeforces Round #443 (Div. 2) 【A、B、C、D】
Codeforces Round #443 (Div. 2) codeforces 879 A. Borya's Diagnosis[水题] #include<cstdio> #inclu ...
- Codeforces Round #434 (Div. 2)【A、B、C、D】
Codeforces Round #434 (Div. 2) codeforces 858A. k-rounding[水] 题意:已知n和k,求n的最小倍数x,要求x后缀至少有k个0. 题解:答案就是 ...
- Codeforces Round #441 (Div. 2)【A、B、C、D】
Codeforces Round #441 (Div. 2) codeforces 876 A. Trip For Meal(水题) 题意:R.O.E三点互连,给出任意两点间距离,你在R点,每次只能去 ...
- Codeforces Round #436 (Div. 2)【A、B、C、D、E】
Codeforces Round #436 (Div. 2) 敲出一身冷汗...感觉自己宛如智障:( codeforces 864 A. Fair Game[水] 题意:已知n为偶数,有n张卡片,每张 ...
- Codeforces Round #435 (Div. 2)【A、B、C、D】
//在我对着D题发呆的时候,柴神秒掉了D题并说:这个D感觉比C题简单呀!,,我:[哭.jpg](逃 Codeforces Round #435 (Div. 2) codeforces 862 A. M ...
- Codeforces Round #439 (Div. 2)【A、B、C、E】
Codeforces Round #439 (Div. 2) codeforces 869 A. The Artful Expedient 看不透( #include<cstdio> in ...
- Codeforces Round #430 (Div. 2) 【A、B、C、D题】
[感谢牛老板对D题的指点OTZ] codeforces 842 A. Kirill And The Game[暴力] 给定a的范围[l,r],b的范围[x,y],问是否存在a/b等于k.直接暴力判断即 ...
- 【Codeforces Round #440 (Div. 2) C】 Maximum splitting
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 肯定用尽量多的4最好. 然后对4取模的结果 为0,1,2,3分类讨论即可 [代码] #include <bits/stdc++ ...
- 【Codeforces Round #440 (Div. 2) B】Maximum of Maximums of Minimums
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] k=1的时候就是最小值, k=2的时候,暴力枚举分割点. k=3的时候,最大值肯定能被"独立出来",则直接输出最 ...
随机推荐
- HandlerInterceptor与MethodInterceptor
HandlerInterceptor是springMVC项目中的拦截器,它拦截的目标是请求的地址,比MethodInterceptor先执行.实现一个HandlerInterceptor拦截器可以直接 ...
- 用户IP地址的三个属性的区别(HTTP_X_FORWARDED_FOR,HTTP_VIA,REM_addr)
一.没有使用代理服务器的情况: REMOTE_ADDR = 您的 IP HTTP_VIA = 没数值或不显示 HTTP_X_FORWARDED_FOR = 没数值或不显示 二.使用 ...
- NET 知识体系结构
以下是我根据自身的情况来总结的ASP.NET 知识体系 ASP.NET 知识体系 1.语言C#——C#-知识梳理 2.ASP.NET 3.WinForm 4.ASP.NET MVC 5.EF
- Druid SqlParser理解及使用入门
以前的项目中很少去思考SQL解析这个事情,即使在saas系统或者分库分表的时候有涉及到也会有专门的处理方案,这些方案也对使用者隐藏了实现细节. 而最近的这个数据项目里面却频繁涉及到了对SQL的处理,原 ...
- 【Java学习经历系列-1】19岁的我,没遇见生命中的她,却遇见了java
[写在前面]正直青春年少的你,遇到了你的她了吗?还是你也和我们今天的主人公一样,在最美好的年级,正在为你的初衷努力着,坚持着,奔波着..... 作者:李伟 我的黑客时代 01 大学专业是电子信息工 ...
- 解决:启动项目报错 java.lang.UnsatisfiedLinkError: D:\Java\apache-tomcat-8.0.17\bin\tcnative-1.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform
启动项目报错如下: java.lang.UnsatisfiedLinkError: D:\Java\apache-tomcat-8.0.17\bin\tcnative-1.dll: Can't loa ...
- js串结构
朴素匹配算法 //S 主串 T 模式串 //匹配失败,回溯 i = i - j + 1 j = 0 //匹配成功,返回位置 i - j function indexOf(S,T,pos = 0){ l ...
- Dinic算法----最大流常用算法之一
——没有什么是一个BFS或一个DFS解决不了的:如果有,那就两个一起. 最大流的$EK$算法虽然简单,但时间复杂度是$O(nm^2)$,在竞赛中不太常用. 竞赛中常用的$Dinic$算法和$SAP$, ...
- 普通平衡树Tyvj1728、luogu P3369 (splay)
存个模板,这次是splay的: 题目见这个题解: <--(鼠标移到这儿) 代码如下: #include<cstdio> #define INF 2147483647 using na ...
- Jarvis OJ-Reverse题目Writeup
做一道更一道吧233333 DD-Android Easy 下载apk,先安装一下试试吧…… 猜测是输入正确的内容后给flag吧 将后缀改成zip,解压,用dex2jar处理classes.dex,然 ...