[hgoi#2019/2/16t2]friend
题目描述
在一个遥远的国度里有n个人,每个人手上写着4个互不相同的数。
这个国度比较奇怪,如果两个人至少有一个数字相同,则他们是一对朋友。
现在这n个人按序号从左到右排成了一排,每个人都想知道在他左边有多少个人是他的朋友,你能帮助他们么?
40分解法
暴力求解,枚举所有的数。
40分代码
#include<bits/stdc++.h>
#define N 100005
using namespace std;
int n;
int a[N][5];
bool vis[N];
int r(){
int w=0,x=0;char ch=0;
while(!isdigit(ch))w|=ch=='-',ch=getchar();
while(isdigit(ch))x=(x<<1)+(x<<3)+(ch^48),ch=getchar();
return w?-x:x;
}
int main(){
n=r();
for(int i=0;i<n;i++) for(int j=1;j<=4;j++) a[i][j]=r();
for(int i=0;i<n;i++){
int ans=0;
memset(vis,0,sizeof(vis));
for(int j=0;j<i;j++){
for(int i1=1;i1<=4;i1++)
for(int j1=1;j1<=4;j1++){
if(a[i][i1]==a[j][j1]&&!vis[j]) ans++,vis[j]=1;
}
}
printf("%d\n",ans);
}
return 0;
}
100分解法
容斥原理,每次将当前这个人与之前有相同的全部统计出来。
然后在容斥原理算出所有的答案。
Ac代码
#include<bits/stdc++.h>
#define N 55
using namespace std;
int a[N],b[N][N],c[N][N][N],d[N][N][N][N];
int n,x[N];
int r(){
int w=0,x=0;char ch=0;
while(!isdigit(ch))w|=ch=='-',ch=getchar();
while(isdigit(ch))x=(x<<1)+(x<<3)+(ch^48),ch=getchar();
return w?-x:x;
}
int main(){
n=r();
for(int i=0;i<n;i++){
for(int j=1;j<=4;j++) x[j]=r();
sort(x+1,x+1+4);
printf("%d\n", a[x[1]]+a[x[2]]+a[x[3]]+a[x[4]]-
b[x[1]][x[2]]-b[x[1]][x[3]]-b[x[1]][x[4]]-b[x[2]][x[3]]-b[x[2]][x[4]]-b[x[3]][x[4]]+
c[x[1]][x[2]][x[3]]+c[x[1]][x[2]][x[4]]+c[x[2]][x[3]][x[4]]+c[x[1]][x[3]][x[4]]-
d[x[1]][x[2]][x[3]][x[4]]);
a[x[1]]++,a[x[2]]++,a[x[3]]++,a[x[4]]++;
b[x[1]][x[2]]++,b[x[1]][x[3]]++,b[x[1]][x[4]]++,b[x[2]][x[3]]++,b[x[2]][x[4]]++,b[x[3]][x[4]]++;
c[x[1]][x[2]][x[3]]++,c[x[1]][x[2]][x[4]]++,c[x[2]][x[3]][x[4]]++,c[x[1]][x[3]][x[4]]++;
d[x[1]][x[2]][x[3]][x[4]]++;
}
return 0;
}
[hgoi#2019/2/16t2]friend的更多相关文章
- 「HGOI#2019.4.19省选模拟赛」赛后总结
t1-Painting 这道题目比较简单,但是我比较弱就只是写了一个链表合并和区间DP. 别人的贪心吊打我的DP,嘤嘤嘤. #include <bits/stdc++.h> #define ...
- [hgoi#2019/3/21]NOIP&NOI赛后总结
前言 今天做的是是2010年提高组和NOI的题目,做过几道原题,但是还是爆炸了,我真的太弱了. t1-乌龟棋 https://www.luogu.org/problemnew/show/P1541 这 ...
- [hgoi#2019/3/10]赛后总结
关于本次hg模拟赛,题目来源于CF1110. t1-无意义运算符(meaning) 题目描述 最大公约数和位运算之间有共同点吗?是时候来研究一下了. 给定一个正整数a,请找到一个闭区间[1,a-1] ...
- [hgoi#2019/3/3]赛后总结
T1--最长公共前缀(lcp) 定义两个字符串S,T 的最长公共前缀lcp(S,T)为最长的字符串R,满足R 既是S 的前缀又是T 的前缀. 给定一个字符串S,下标从1 开始,每次询问给出四个正整数a ...
- [hgoi#2019/2/16t3]psolve
题目描述 Dustar有n道题目要做.他的月薪是m元. 由于题目是一流的难题,所以Dustar不得不找个人来帮(代)助(替)他写作业. 找人写作业不是免费的,但是他们能保证在一个月内做出任何题目.每做 ...
- [hgoi#2019/2/16t1]math
题目描述 解法 我们稍微枚举一下前面几位,可以得到这样的规律. \[X_i=\frac{1}{2^{i+1}-1}\] \[Y_i=\frac{1}{2^{2^i}-1}\] 那么要使\(xm=yn\ ...
- [hgoi#2019/2/24]玄学考试
感想 对于这次考试,真的不想说什么了,太玄学了!!! t1输出比标准输出长,这是什么操作???难道要关文件???但是交到oj上又A掉了.这是什么操作. t2还好,没有出什么意外...但是要吐槽一下出题 ...
- [hgoi#2019/2/18]比较水
T1--调换纸牌(card) Alex有 n张纸牌,每张纸牌上都有一个值ai,Alex把这些纸牌排成一排,希望将纸牌按值从小到大的顺序排好.现在他把这个任务交给你,你只能进行一种操作:选中一张牌,然后 ...
- [hgoi#2019/2/17t1]million
题目描述 面对格鲁的入侵,小黄人们要组建一支队伍,来抵御进攻,现在有编号为1 至n 的小黄人,任命编号为n 的队长,由其挑选队员,当然编号不是随便编的,每一个编号里都包含一个小黄人的个人信息,现在队长 ...
随机推荐
- HTML 图片轮播制作工具
下载地址:http://wowslider.com/download/wowslider-win-setup.zip?utm_source=free_downl_win&utm_medium= ...
- LiveCharts文档-3开始-7标签
原文:LiveCharts文档-3开始-7标签 LiveCharts文档-3开始-7标签 Label就是Chart中表示数值的字符串,通常被放置在轴的位置和提示当中. 下图中的这些字符串显示的都是标签 ...
- Ionic下的Jpush消息推送与内容显示
本文测试Jpush将消息推送给手机端,手机端点击通知栏,即可看到具体的推送内容. 1.极光推送消息设置 设置附加字段: 点击发送,手机端收到消息通知. 2.手机接收到的消息通知 点击之后进入具体的页面 ...
- 【亲测有效】Kali Linux无法安装网易云音乐的解决方案
问题描述 由于 Kali Linux 的内核是基于 Debian 的,我们在安装网易云音乐的时候更偏向于选择安装网易云音乐 v1.1.0 deepin15(64位) 的包,可是我发现在安装过程中,无法 ...
- Linux下DNS服务(Bind9)之Web管理利器-NamedManager部署说明
NamedManager 是一个基于Web的DNS管理系统,可用来添加.调整和删除DNS的zones/records数据.它使用Bind作为底层DNS服务,提供一个现代Ajax的Web界面,支持 IP ...
- 个人作业week7——前端开发感想总结
个人作业week7——前端开发感想总结 1. 反思 首先要谈谈在这次团队项目的工作中,我这边出现过的较为严重的一个问题:我和HoerWing (后端担当)合作时,最初因为我没有使用github(始终连 ...
- 《Linux内核分析》课程第七周学习总结
姓名:何伟钦 学号:20135223 ( *原创作品转载请注明出处*) ( 学习课程:<Linux内核分析>MOOC课程http://mooc.study.163.com/course/U ...
- Linux内核分析(第八周)
进程的切换和系统的一般执行过程 一.进程切换的关键代码switch_to分析 1.进程调度与其时机分析 分类: 第一种分类 I/O-bound:频繁的进行I/O:会花很多时间等待I/O操作完成 CPU ...
- HDOJ2025_查找最大元素
一道简单题 HDOJ2025_查找最大元素 #include<stdio.h> #include<stdlib.h> #include<ctype.h> #incl ...
- 二维数组转化为一维数组 contact 与apply 的结合
将多维数组(尤其是二维数组)转化为一维数组是业务开发中的常用逻辑,除了使用朴素的循环转换以外,我们还可以利用Javascript的语言特性实现更为简洁优雅的转换.本文将从朴素的循环转换开始,逐一介绍三 ...