题目链接:点击查看

题目大意:给出m个人和n个颜色,规定两个人之间,不是朋友就是敌人。每个人都有一条项链,项链上有着没有数量上限的彩色鹅卵石。每个人两个朋友之间必须有至少一种相同颜色的鹅卵石,每两个敌人之间不能有任何一种颜色相同的鹅卵石,给出m和n,判断能不能满足所有的情况。

题目分析:读完题后,我们可以通过分析最差的情况,也就是最极限的情况,来判断另一个值是在边界之内还是在边界之外,从而判断两个值是否满足关系,如果要考虑最差的情况,可以考虑成完全二分图,也就是将m个人,尽可能等分地分到左侧和右侧两堆之中,然后左侧的任意一个人都要和右侧的每一个人交朋友,与此同时左侧中的每两个人之间都是敌人关系,这样可以保证每个左侧的人和右侧的人交朋友时,都会增加不同颜色的鹅卵石,这样一来求出左堆中的点和右堆中的点最多能连成多少条边即可,也就是左侧的点数(m/2)乘以右侧的点数(m-m/2)就是得到的最大的颜色种类,在去和题目中给出的颜色数量比较就好了。

直接上代码了,一个公式出结果:

#include<iostream>
#include<string>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<vector>
#include<cstdio>
using namespace std;
typedef long long LL;const int inf=0x3f3f3f3f; const int N=25;int main()
{LL n,m;while(scanf("%lld%lld",&m,&n)!=EOF){if((m/2)*(m-m/2)>n)cout<<"F"<<endl;elsecout<<"T"<<endl;}return 0;
}

HDU - 5874 Friends and Enemies(思维)相关推荐

  1. HDU - 5874 Friends and Enemies 完全二分图

    题目链接 题意理解起来不难,但是因为没有学过,就是一个完全二分图的模型,分成两份从而使边数达到最大,也就是最坏的情况. 完全二分图的边数: #include<stdio.h> #inclu ...

  2. HDU 6092 Rikka with Subset 思维 递推

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=6092 题目描述: 给你一个集合的所有子集各个和, 让你找到这个集合, 输出字典序最小 解题思路: 下 ...

  3. hdu 4747 mex 线段树+思维

    http://acm.hdu.edu.cn/showproblem.php?pid=4747 题意: 我们定义mex(l,r)表示一个序列a[l]....a[r]中没有出现过得最小的非负整数, 然后我 ...

  4. HDU 6090 Rikka with Graph 思维 公式

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=6090 题目描述: 有n个点, 你可以连m条边, 使得∑ni=1∑nj=1dist(i,j).最小, ...

  5. HDU - 5976 Detachment(贪心思维)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5976 题意:把一个数拆成若干个不相同的数之和,问这些数的乘积最大是多少. 思路:一般要使乘积最大,那么 ...

  6. HDU 6040 Hints of sd0061 思维

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=6040 题目大意: 给定数组a, b.要求输出和B长度相同的数组C, C[i]为在A中排名为B[i]的 ...

  7. HDU - 5521 Meeting(最短路+思维建边)

    题目链接:点击查看 题目大意:给出 n 个点,再给出 m 个集合,对于每个集合中的点来说,其两两都是相互可达的,且花费都相同,问有多少个点,到达点 1 和点 n 的距离相同且最小 题目分析:因为每个集 ...

  8. HDU - 4292 Food(最大流+思维建边)

    题目链接:点击查看 题目大意:作为食堂管理人,现在有n个学生需要打饭,每个学生需要一个饮料和食物才能满足,每个学生可以同时接受多种不同的食物和饮料,现在给出每种食物和饮料的个数,问最多能让多少学生满足 ...

  9. HDU - 3530 Subsequence(单调队列+思维)

    题目链接:点击查看 题目大意:给出一段长度为n的序列,现在给出一个m和一个k,必须满足一段连续区间内的最大值与最小值的差值大于等于m并且小于等于k,问满足条件的连续区间的最大长度 题目分析:一开始看到 ...

最新文章

  1. Selenium-switch_to_window出现删除线
  2. php fpm xcache,php扩展xcache
  3. C++重载下标运算符
  4. java怎么从大到小排序元祖_在java中对元组列表进行排序的有效方法
  5. MySQL内存及虚拟内存优化设置
  6. Android objdump/nm/readelf使用
  7. pandas小记:pandas数据结构和基本操作
  8. 用foobar2000播放服务器文件,用Foobar2000打造网络电台
  9. 怎样保存html视频,网页上的视频怎么保存到电脑 网页视频保存到电脑的步骤教程...
  10. 用Xposed框架拦截微信、人人、QQ等LBS应用的当前位置
  11. 天清江月白,心静海鸥知
  12. 榆熙教育:拼多多有效提高店铺出评率的技巧
  13. 肾有多好,就有多年轻
  14. 怒江java培训班_智慧树知到答案Java项目实战(黑龙江联盟)查题公众号
  15. Linux netstat命令深入理解
  16. Cisco 3850交换机保存配置后重启配置文件丢失
  17. 《论文写作》课程小结
  18. 项目中中文大写金额的工具类
  19. 虾皮延迟发货多久取消订单?
  20. 根据屏幕判断iPhoneX

热门文章

  1. MySQL count函数的具体介绍
  2. SimpleExecutor.doQuery()-创建Statement
  3. AdminLTE基本使用介绍
  4. 数据库-in子句-exists子句
  5. 模块-from import导入所有工具
  6. SpringBoot快速构建项目
  7. feign-hystrix的使用
  8. 使用Github(基本概念实战操作)
  9. 华为云服务器芯片,云服务器芯片
  10. java 带点的字符串处理,关于android:java中字符串上带点的分割函数