正题


题目大意

nnn个苹果,依次来mmm个人会在两个苹果(ui,vi)(u_i,v_i)(ui​,vi​)中选择一个吃(如果都没了就不吃了)
求有多少对苹果可以同时存活


解题思路

设gi,jg_{i,j}gi,j​表示iii不吃时jjj是否必吃,我们从后到前枚举边,那么我们有转移gi,uj=gi,vj=gi,uj∣gi,vjg_{i,u_j}=g_{i,v_j}=g_{i,u_j}|g_{i,v_j}gi,uj​​=gi,vj​​=gi,uj​​∣gi,vj​​。

设fif_{i}fi​表示iii是否必吃,对于枚举到的一条边,如果gi,uj和gu,vjg_{i,u_j}和g_{u,v_j}gi,uj​​和gu,vj​​都有的话,那么我们就有fi=1f_i=1fi​=1。

然后计算答案即可

时间复杂度O(n3)O(n^3)O(n3)


codecodecode

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=510,M=5e5+10;;
int n,m,x[M],y[M],ans;
bool g[N][N],f[N];
int main()
{scanf("%d%d",&n,&m);for(int i=1;i<=m;i++)scanf("%d%d",&x[i],&y[i]);for(int i=1;i<=n;i++){g[i][i]=1;for(int j=m;j>=1;j--){if(g[i][x[j]]&&g[i][y[j]]){f[i]=1;break;}g[i][x[j]]=g[i][y[j]]=g[i][x[j]]|g[i][y[j]];}}for(int i=1;i<=n;i++)for(int j=1;j<=n;j++){if(f[i]||f[j])continue;bool flag=1;for(int k=1;k<=n;k++)if(g[i][k]&&g[j][k]){flag=0;break;}ans+=flag;}printf("%d",ans/2);
}

nssl1478-题【dp】相关推荐

  1. BZOJ 4300: 绝世好题( dp )

    dp(i)表示二进制的第i位为1时的最大值, 然后从左到右dp -------------------------------------------------------------------- ...

  2. Codeforces Beta Round #2--B题 (DP)

    题目:The least round way 1000*1000的方阵,每个格子有一个非负整数,现在要从左上走到右下,每次只能向下或者向右走.目标是使得所有走的格子里的数的乘积里,末尾0的个数最少,要 ...

  3. BZOJ-4300 绝世好(蛋疼)题 DP(递推)

    翻zky学长的blog时翻出来的..... 4300: 绝世好题 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 736 Solved: 393 [Sub ...

  4. 【线性 dp】B003_LC_最长湍流子数组(读题 dp / 双指针)

    一.Problem 当 A 的子数组 A[i], A[i+1], -, A[j] 满足下列条件时,我们称其为湍流子数组: 若 i <= k < j,当 k 为奇数时, A[k] > ...

  5. bzoj 4300 绝世好题——DP

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4300 考虑 dp[ i ] 能从哪些 j 转移过来,就是那些 a[ j ] & a[ ...

  6. POJ 1155 TELE 背包型树形DP 经典题

    由电视台,中转站,和用户的电视组成的体系刚好是一棵树 n个节点,编号分别为1~n,1是电视台中心,2~n-m是中转站,n-m+1~n是用户,1为root 现在节点1准备转播一场比赛,已知从一个节点传送 ...

  7. HDU 5863 cjj's string game ( 16年多校10 G 题、矩阵快速幂优化线性递推DP )

    题目链接 题意 : 有种不同的字符,每种字符有无限个,要求用这k种字符构造两个长度为n的字符串a和b,使得a串和b串的最长公共部分长度恰为m,问方案数 分析 : 直觉是DP 不过当时看到 n 很大.但 ...

  8. Bomb(数位DP板题)

    题目链接:Bomb Problem Description The counter-terrorists found a time bomb in the dust. But this time th ...

  9. hdu5185 dp:和为n且满足后一项是前一项或者+1的数列个数

    其实是很裸的dp,竟然放在第四题== dp[i][j]表示当前放j和为i的方案数 dp[0][0]=1; dp[i][j]=dp[i-j][j-1]+dp[i-j][j]; 1 #include< ...

  10. POJ 1848 (一道不错的树形dp)

    题意:N个点的一颗树.问最少添加多少条边可以让每个点都在一个(且仅一个)环中. 不得不佩服,这题dp设计出来的人...偶是弱菜,只能膜拜了. 这位大牛的解说,很详细:http://hi.baidu.c ...

最新文章

  1. 配置交换机端口聚合(思科)
  2. 北斗词卡(三):带你了解北斗相关的国际组织缩写
  3. Go 语言框架 Gin 练习1
  4. jenkins编译java_在Window上使用Jenkins自动发布Java工件
  5. input长度随输入内容动态变化 input光标定位在最右侧
  6. 【搜索/推荐排序】FM,FFM,AFM,PNN,DeepFM:进行CTR和CVR预估
  7. ANSI C标准预定义宏
  8. php命名空间更麻烦了,紧急求教PHP命名空间问题,12:10了我还没有吃饭呢,各位帮忙!!...
  9. maven如何直接手动下载jar包
  10. 易语言mysql怎么写字段值_易语言数据库怎么加字段 数据库添加字段说明
  11. 【例5.2】组合的输出
  12. 最近安装了Netscape Navigator 9.0英文版,真好用!
  13. 设计模式(1)单例模式(Singleton)
  14. Linux系统中设置静态ip地址
  15. android:获取网络时间、文件路径,修改包名,发布release版本
  16. github leaf项目怎么用_这份GitHub上价值49K的SpringBoot2+Thymeleaf企业应用实战,真香...
  17. BOOST库介绍(三)——网络编程相关的库
  18. VMware虚拟机刷openWRT
  19. Access-Control-Allow-Origin跨域问题,使用Nginx配置来解决
  20. Web 网站架构的演变历程

热门文章

  1. jquery 样式获取设置值_[JQuery] jQuery选择器ID、CLASS、标签获取对象值、属性、设置css样式...
  2. .Net性能调优-垃圾回收!!!最全垃圾回收来了
  3. 创维linux进入工厂模式,创维电视怎么进入工厂模式?
  4. node.js require 自动执行脚本 并生成html,nodejs 执行脚本并实时输出
  5. bms中soh计算方式_BMS算法设计之电池SOH介绍(下)
  6. excel怎么设置打印区域_别再浪费打印纸了!这样设置,Excel表格再大都能打印成一页!...
  7. leetcode104. 二叉树的最大深度(层序遍历09)
  8. [C++11]final关键字的使用
  9. hdu1213 How Many Tables-并查集
  10. SQL15 查看学校名称中含北京的用户(通配符使用)