UVALive 6450 Social Advertising DFS解法】的更多相关文章

题意:一些人有朋友关系,在某个人的社交网站上投放广告可以被所有该人的直接朋友看到,问最小投放多少个广告使给出的人都看到广告.(n<=20) 解法:看到n的范围可以想到用二进制数表示每个人被覆盖与否,所以可以依次为状态进行搜索,每次枚举一个人,投放广告,然后将他的朋友覆盖,用dis记录步数,记忆化搜索. 代码: #include <iostream> #include <cstdio> #include <cstring> #include <cmath>…
6450 Social AdvertisingYou have decided to start up a new social networking company. Other existing popular social networksalready have billions of users, so the only way to compete with them is to include novel features noother networks have.Your co…
[题目] 给一个无向图,每当对某个点操作,该点以及与该点相连的点都获得标记,问标记所有点至少需要操作多少次 输入 第一行为T,表示测试数据组数 每组测试数据第一行为n(1<=n<=20)表示有n个点,接下来n行,第i行描述与结点i所连的点,首个整数d,接下来有d个整数,表示结点i与它之间有一条边,该图没有自环 输出 每组测试数据输出一行,一个数表示至少需要操作的次数 [题解] 状态压缩+枚举 这道题数据范围好小,那么就应该不是什么特殊的算法了,可以考虑下搜索 将每个点与其他点的关系压缩,记录到…
/** 题目:Taxi Cab Scheme UVALive - 3126 最小路径覆盖解法(必须是DAG,有向无环图) = 结点数-最大匹配 链接:https://vjudge.net/problem/UVALive-3126 题意:lv lrj训练指南P357 思路:最小路径覆盖(必须是DAG,有向无环图) = 结点数-最大匹配 最小路径覆盖:就是在图中找尽量少的路径,使得每个节点恰好在一条路径上(不同的路径不能有公共点),单独的结点也可以作为一条路径. 时间是一个天然的序,因此可以构图G如…
题意: 给出K1,求一个12位数(不含前导0)K2,使得K1^K2 mod (10^12) = K2. 解法: 求不动点问题. 有一个性质: 如果12位数K2满足如上式子的话,那么K2%1,K2%10,K2%100,...,K2%10^12都会满足如上式子.那么我们可以dfs从后往前一个一个找出这个数的每一位. 代码: #include <iostream> #include <cstdio> #include <cstring> #include <cstdli…
题意: NxN的地图,上面有A颜色的瓷砖以及一些空格点,要用B,C,D颜色去填充这些空格,只能十字形的填充,还要保证共角或共边的格子不能是相同颜色,求一种字典序最小的填充方法,如果不能,输出"Not Possible". 解法: 从上往下扫,如果有空格,那么一定是以它下面那个格子为中心填十字瓷砖才能填到这个空格,所以这个我们将这个空格标个号,并且把下面的三个和下下面的一个空格赋一下别的值,不让以后扫描扫到,那些不是空格的话,直接跳出即可.这样我们可以找到所有需要填的十字形瓷砖个数,并且…
BestCoder Round #6 B http://acm.hdu.edu.cn/showproblem.php?pid=4982 Goffi and Squary Partition Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 308    Accepted Submission(s): 106 Problem Descrip…
HDU 1312 题目大意: 一个地图里面有三种元素,分别为"@",".","#",其中@为人的起始位置,"#"可以想象为墙,然后.为可以走的空地,求人可以走的最大点数. 解题思路:从起点开始,从4个方向进行递归遍历(已经访问的点进行标记). /*HDU 1312 ----- Red and Black 入门搜索 */ #include <cstdio> int n, m; //n行m列 int cnt, star…
题目大意就是说有两台机器,分别有n,m种模式可以调节,有k个工作,某一个工作i可以在第一台机器的a[i]模式下或第二台机器的b[i]模式下工作,两台机器的初始模式为0,问如何分配这K件工作使得两台机器更换模式的次数最少.并难求最少次数. 这里有一个定理: 二分图的最少顶点覆盖 = 二分图的最大匹配 证明见http://hi.baidu.com/keeponac/item/111e3438988c786b7d034b56 感觉讲的不错,仔细看看,慢慢就会明白. #include <map> #i…
题目大概是这样: 已知有三个容量分别为3千克.5千克和8千克的并且是没有刻度的酒瓶,3千克和5千克的瓶子均装满了酒,而8千克的瓶子为空.现要求仅用这三个酒瓶将这些酒均分为两个4千克并分别装入5千克和8千克的瓶子中. 题解: 可以扩展为有n个瓶子,每个瓶子当前装了x1,x2,x3-xn的酒,每个瓶子的上限是y1,y2,-yn,目标状态是每个瓶子d1,d2,-dn,现在要从当前状态转换到目标状态 可以解读到,每个瓶子只有两种状态--要么盛满,要么空 所以当酒从x瓶子转移到y瓶的时候,只有可能是试图将…