摘要: 题目链接 "戳我" $solution$ 这道题和 "网络24题之骑士共存问题" 很相似 只是输入方式不一样而已 详细见: "这儿" $Code$ cpp include define file(a) freopen(a".in","r",stdin);freopen(a".out","w",std 阅读全文
posted @ 2019-01-11 15:02 撤云 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 题目链接 "戳我" $Solution$ 我们首先进行拆点操作,将每个点都拆成$x$和$y$,将满足条件的两个点连起来就好了(记得要将$x$连$y'$的同时要将$y$联向$x'$) code cpp include using namespace std; typedef long long ll; 阅读全文
posted @ 2019-01-11 14:50 撤云 阅读(175) 评论(3) 推荐(0) 编辑
摘要: 题目链接 "戳我" $Solution$ 令: $f[i][j]$为$[i,j]$中最后排进去的是第i人 $dp[i][j]$为$[i,j]$中最后排进去的是第j人 则排头的元素即$f[i][j]$有两种插入方式: 1. $a[i] define rg register define int lon 阅读全文
posted @ 2019-01-11 08:31 撤云 阅读(191) 评论(0) 推荐(1) 编辑
摘要: 题目链接 戳这 Solution 首先考虑最暴力的dp 我们设: \(f[i]\)表示选择\(i\)以后所能形成的满足条件的子序列的最大值 \(minx[i]\)表示\(i\)能转换为的最小值 \(maxx[i]\)表示\(i\)能转换为的最大值 于是转移的条件显然了: \(i>j\) \(minx 阅读全文
posted @ 2019-01-11 00:06 撤云 阅读(232) 评论(0) 推荐(0) 编辑
……