题目大意

给定一个包含n(n<=100)个点的无向连通图和一个长度为L的序列A(L<=200),你的任务是修改尽量少的数,使得序列中的任意两个相邻的数或者相同,或者对应图中两个相邻结点

题解

妈蛋,这么水的题目想不出来,然后搜了下解题报告,瞬间觉得巨水啊。。。。智商拙计啊

用dp[i][j]表示前i个数并且以数字j结尾的序列需要修改的最少次数,那么如果j等于a[i]那么dp[i][j]=min(dp[i-1][k]),否则的话dp[i][j]=min(dp[i-1][k]+1)(j==k或者j和k连通)

代码:

#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>
using namespace std;
#define MAXN 105
#define INF 0x7fffffff
int dp[MAXN*2][MAXN];
bool grah[MAXN][MAXN];
int a[MAXN*2];
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
int n1,n2,n;
scanf("%d%d",&n1,&n2);
memset(grah,false,sizeof(grah));
while(n2--)
{
int x,y;
scanf("%d%d",&x,&y);
grah[x][y]=grah[y][x]=true;
}
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
for(int i=1;i<=n1;i++)
dp[0][i]=0;
dp[0][a[1]]=0;
for(int i=1;i<=n;i++)
for(int j=1;j<=n1;j++)
{
dp[i][j]=INF;
for(int k=1;k<=n1;k++)
if(j==k||grah[j][k])
{
if(j==a[i]) dp[i][j]=min(dp[i][j],dp[i-1][k]) ;
else
dp[i][j]=min(dp[i][j],dp[i-1][k]+1) ;
}
}
int ans=INF;
for(int i=1;i<=n1;i++)
ans=min(ans,dp[n][i]);
printf("%d\n",ans);
}
return 0;
}

最新文章

  1. android学习之路--------intent
  2. SQL语句中,Conversion failed when converting datetime from character string.错误的解决办法
  3. iOS Debug日志 viewhierarchy调试笔记
  4. PHP &amp; Javascript 如何对字符串中包含html标签进行编码 整理
  5. wchar_t是内置还是别名(亲测有效:wchar_t在windows下是16位整数的别名,在linux等平台下是32位整数的别名。MSVC2008开始默认是/Zc:wchar_t)
  6. H264 编解码框架简单介绍
  7. Jquery中获取iframe的代码方法
  8. (简单) POJ 2029 Get Many Persimmon Trees,暴力。
  9. 【原创】IE11惊现无厘头Crash BUG(三招搞死你的IE11,并提供可重现代码)!
  10. java多线程(七)-线程之间的 协作
  11. Ranger-Kafka插件安装
  12. java内部类深入详解 内部类的分类 特点 定义方式 使用
  13. day 7-2 multiprocessing开启多进程
  14. hive on spark配置
  15. Python 读取csv的某行
  16. 转载-&gt;C#异常处理
  17. bzoj千题计划226:bzoj2763: [JLOI2011]飞行路线
  18. [转]OkHttp3 最有营养的初级教程
  19. C/C++中 malloc和new区别
  20. Node fs, url, http 组合小型的服务器 ( 满足html请求, get, post 传值 )

热门文章

  1. 几种更新(Update语句)查询的方法【转】
  2. poj 2796 Feel Good 单调栈区间问题
  3. mysql UNIX时间戳与日期的相互转换 查询表信息
  4. 软件测试 -- 测试人员和QA的区别
  5. Java 中正确使用 hashCode 和 equals 方法
  6. Javascript 5种方法实现过滤删除前后所有空格
  7. 如何获取HttpServletResponse里面的内容
  8. shell中的内建命令, 函数和外部命令
  9. ASP.NET Application_Error错误日志写入
  10. 如何忽略usb host 模式设备连接确认对话框