关注
// ====== 填入你自己的逻辑 ========
/////********************************/////
/*
看了大家的回复,才知道自己漏看了题目,后来想了想,现将思路贴出来,供大家交流
具体见我的博客:http://blog.csdn.net/bxw1992/article/details/74534157 目的:最多可以取出多少个能够组成嵌套集
思路:
如果存在一个子嵌套集,而新增加的一个二段模式与子嵌套集的某个二段模式冲突(不相互嵌套),它虽然不能加入该嵌套子集,
但是它却可以和该子集中不冲突的其他二段模式组成子集,所以很难处理。因此,从这个角度来思考,太过于复杂。
从上面的思路中我们可以得到一些有用的结论:针对存在的一个子嵌套集,新的二段模式的加入,可以生成新的子嵌套集,也就
是造成分支;进一步我们可以认为,一个二段模式最多可以生成一个分支,而且一个分支主要是因为某个二段模式与其他嵌套集
冲突造成的,也就是一个二段模式可以对应一个嵌套集;N个二段模式最多组成N个独立的嵌套集。
算法流程:
1、初始N个嵌套集,分别包含编号0~N-1二段模式
2、针对某个二段模式,遍历查看是否可以满足加入嵌套集的条件(两两相互嵌套,而且该二段模式之前不存在)
满足的话,将其加入
3、找出最大的嵌套集
*/
/////********************************/////
inline bool operator==(const Interval& a, const Interval& b)
{
return (a.right() == b.right()) && (a.left() == b.left());
}
inline bool operator==(const TwoInterval& a, const TwoInterval& b)
{
return (a.right() == b.right()) && (a.left() == b.left());
}
bool confl(const TwoInterval& a, const TwoInterval& b)
{
if (!(within(a, b) || within(b, a))) return true;
if (a == b) return true;
return false;
}
bool add(vector<TwoInterval> &a, TwoInterval b)
{
for (TwoInterval ti : a)
{
if (confl(ti,b))
{
return false;
}
}
a.push_back(b);
return true;
}
int intussusception(vector<TwoInterval>& two2)
{
int len = two2.size();
if (len < 2) return len;
int max = 0;
vector<vector<TwoInterval> > res(len);
for (int i = 0; i < len; i++)
{
res[i].push_back(two2[i]);
}
for (int i = 0; i < len; i++)
{
for (int j = 0; j < len; j++)
{
add(res[j], two2[i]);
}
}
for (int i = 0; i < len; i++)
{
if (res[i].size()>max)
{
max = res[i].size();
}
}
return max;
}
// ====== 结束 ========
查看原帖
点赞 评论
相关推荐
01-14 17:06
哈尔滨工程大学 Java 点赞 评论 收藏
分享
牛客热帖
更多
- 1... 备战春招,网申一键填写工具,发布了!!!2.6W
- 2... 实习产出如何包装?7173
- 3... 【官方活动】牛客新春计划:给陌生人的一封信6356
- 4... 32岁程序员猝死,底薪3千要24h待岗5539
- 5... 27双非非科班4段实习从字节tt到腾讯wxg5486
- 6... 27届实习时间线4283
- 7... 我爸对计算机行业的看法,是否准确?4144
- 8... 专科工作一年了,写一些想说的话,做个记录,也为我之前的学习画上句号!3553
- 9... 【牛客娘创作大赏】来生成牛客娘表情包,送牛币,送牛客娘周边2895
- 10... 第一次被同事气笑了2817
正在热议
更多
# 哪些公司开春招了? #
9717次浏览 117人参与
# 工作压力大怎么缓解 #
137401次浏览 1229人参与
# 上班以后,你还有哪些坚持的爱好? #
6896次浏览 169人参与
# 找工作以来,你最看不惯__ #
13575次浏览 292人参与
# 你都在哪些场所面过试? #
19140次浏览 221人参与
# AI coding的好用工具分享 #
17501次浏览 359人参与
# 互联网公司评价 #
478255次浏览 4053人参与
# 实习怎么做才有更好的产出 #
11558次浏览 209人参与
# 实习教会我的事 #
51529次浏览 399人参与
# 聊聊你的被动加班经历 #
2170次浏览 48人参与
# 四大天坑是哪四家? #
100261次浏览 234人参与
# 你最近因为什么迷茫? #
33194次浏览 475人参与
# 实习离职怎么跟领导说 #
75789次浏览 420人参与
# 实习生工资多少才算正常? #
12298次浏览 192人参与
# 拼多多工作体验 #
44263次浏览 283人参与
# 机械制造面试记录 #
307849次浏览 3152人参与
# 你给AI提过哪些离谱的需求? #
5737次浏览 163人参与
# 实习好累,可以辞职全力准备秋招吗 #
518168次浏览 3554人参与
# 领导做过最不靠谱的事 #
12771次浏览 210人参与
# 工作一周年分享 #
49928次浏览 256人参与
美的集团公司福利 852人发布
