pku 2989

2024-04-18 12:08
文章标签 pku 2989

本文主要是介绍pku 2989,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

极大团问题:

 

我还是写一下思路吧:

  这个就是个记忆搜索。一开始考虑问题规模为一个节点,这样的极大团是一。再考虑第二个点。这就有以下几种情况了。

  1.这个点和前面没这个点的问题中的某个极大团可以融合成一个新的极大团,这样子,极大团个数不会增加。

  2.要是这个点和前面的某个极大团不完全融合,那就找到它和那个极大团能融合的部分,这样肯定得到的是个完全子图,但是不是极大就不一定了。这要判断一下。遍历之前的点,看看有没有不在此团中但是可以融合进去的,有的话,这个团我们就不要了。后面肯定会有个更大的给你。为什么呢?假设当问题规模为i+1时,含点V(i+1)的极大团S,那么当问题为i规模时,是不是一定有个极大团为S-V(i+1),这是显然的。我把一些操作写进了struct f_int里,应该没什么别的了。

  主要是这个集合他不好表示。本来应该用hash的,但是比较麻烦,我也没写过,就用了map,集合用啥呢?用四个int就可以了,128位,代表128个数字。集合的交就是&,查找就是位移和1与一下看是不是0.

800多ms。。。

标程代码:

 

70多ms。。。

这篇关于pku 2989的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/914738

相关文章

PKU Campus 2011 B A Problem about Tree lca倍增

B:A Problem about Tree 总时间限制:  1000ms  内存限制:  65536kB 描述 Given a tree with Nvertices and N- 1 edges, you are to answer Qqueries on "which vertex isY's parent if we choose Xas the ro

PKU Online Judge 1054

PKU Online Judge   /  练习 题目 排名 状态 提问 1054:Cube 查看提交统计提问 总时间限制:  1000ms  内存限制:  131072kB 描述 Delayyy君很喜欢玩某个由Picks编写的方块游戏,游戏在一个由单位格组成的棋盘上进行。 游戏的主角是一个6个面互不相同的小方块,每次可以向上下左右中的某个方

PKU Online Judge 1055:Tree

1055:Tree 查看提交统计提问 总时间限制:  2000ms  内存限制:  131072kB 描述 在信息学竞赛中,我们经常要遇到树这种结构。 一棵树中除根结点外有且仅有一个父亲,而可能有很多儿子。所以,当我们要生成一棵树的时候,我们通常使用以下算法: 对树中的每个点定义一个深度。第 1 个节点的深度为 1,第 i 个点的深度就是 Fatheri的

pku 1024

这是别人的代码,效率很高,在status上的第一页,看了人家的自己就不想写了,就写篇分析吧。。。 #include <iostream>const int gsize = 20 ; // 图的大小,实际上测试数据较弱,20就够了。int minPath , wallNo , W , H , Dx,Dy;struct Point { int val[2]; // pt[x][y].va

PKU__ACMnbsp;题目总结(转)

ACM基本算法分类、推荐学习资料和配套pku习题2008-04-12 15:15一.动态规划 参考资料: 刘汝佳《算法艺术与信息学竞赛》《算法导论》 推荐题目: http://acm.pku.edu.cn/JudgeOnline/problem?id=1141 简单 http://acm.pku.edu.cn/JudgeOnline/problem?id=2288 中

【可视化笔记-VRVIS SWUST-2018】《城市移动数据知微探秘》_陆旻等_PKU

入坑论文1——《城市移动数据知微探秘》 下载链接: 度盘,密码20ho 本文通过可视化与可视分析技术,将数据转换为图形等用户可交互的方式,让人们理解城市这一主题,并且探索城市中不同人群的行为对城市造成的影响。 何为“城市”: 引用微软亚研院:城市计算 城市计算是一个交叉学科,是计算机科学以城市为背景,跟城市规划、交通、能源、环境、社会学和经济等学科融合的新兴领域。更具体的说,城市计算是一

(pku 1014) (hdu 1059) (zoj 1049) Dividing muhanshu

(pku 1014) (hdu 1059) (zoj 1049) Dividing 前几天看了刘老师关于母函数的课件,顺便找几个题目来热热身.看了1059的题目以后,很快我就把他和母函数联系起来了,于是就动手写了程序,没想到提交就wa掉了,后来发现是在多项式计算的地方出现了问题.后来一个师姐看我做这个题目,她也去动手做了起来.她用的是贪心的思想,开始问她是怎么做的时候,wa想的巧,可是

PKU上的几个背包问题总结(总结了网上的很多文章,在此致谢)

基础知识可先参考 背包九讲   背包相关的几个题目:1014 1742 1276 1882 3211   PKU 1742:http://www.cppblog.com/Onway/articles/122075.html   引用:我觉得这个题目跟pku 1276 cash machine和pku 1882 stamps都有点像。 首先与1276 cash machine一样,都是

[PKU 3378]Crazy Thairs(平衡树)

【题目大意】: N个数(N<=50000),求5个互相不逆序的数的组合有多少个。 【题目分析】: 这个题的重要的地方在于要统计的是长度为5的正序序列的个数,我们就可以通过正序对个数的求法来类比出来正确的方法。 正序的求法我们是在平衡树中记录size,通过rank操作来进行的。其实进行一下扩展就可以得到正确的方法。我们开4个平衡树,然后rank的含义也随之改变,第一个求的就是以当前节点为尾的

pku线段树20题(mark)

难度系数 分为从1 到 5 (只对初学者有用 对大牛来讲 这些题的难度系数都是0..) http://acm.pku.edu.cn/JudgeOnline/problem?id=1151 Atlantis 扫描线+离散化+线段树 这是经典的扫描线求矩形面积交 很好过 没什么陷阱 如果头一次接触扫描线 那么难度系数大概算3吧 如果熟练掌握扫描线 难度系数为1 难度系数 ***