[LibreOJ β Round #4] 子集
显然是个二分图,直接求最大独立就行了。
- #include<bits/stdc++.h>
- #define ll long long
- #define pb push_back
- using namespace std;
- const int maxn=505;
- vector<int> g[maxn];
- struct lines{
- int to,flow,cap;
- }l[maxn*maxn];
- int t=-1,S,T,d[maxn],cur[maxn];
- bool v[maxn];
- inline void add(int from,int to,int cap){
- l[++t]=(lines){to,0,cap},g[from].pb(t);
- l[++t]=(lines){from,0,0},g[to].pb(t);
- }
- inline bool BFS(){
- queue<int> q;
- memset(v,0,sizeof(v));
- q.push(S),v[S]=1,d[S]=0;
- int x; lines e;
- while(!q.empty()){
- x=q.front(),q.pop();
- for(int i=g[x].size()-1;i>=0;i--){
- e=l[g[x][i]];
- if(e.flow<e.cap&&!v[e.to]){
- v[e.to]=1,d[e.to]=d[x]+1;
- q.push(e.to);
- }
- }
- }
- return v[T];
- }
- int dfs(int x,int A){
- if(x==T||!A) return A;
- int flow=0,f,sz=g[x].size();
- for(int &i=cur[x];i<sz;i++){
- lines &e=l[g[x][i]];
- if(d[x]==d[e.to]-1&&(f=dfs(e.to,min(e.cap-e.flow,A)))){
- A-=f,flow+=f;
- e.flow+=f,l[g[x][i]^1].flow-=f;
- if(!A) break;
- }
- }
- return flow;
- }
- inline int max_flow(){
- int an=0;
- while(BFS()){
- memset(cur,0,sizeof(cur));
- an+=dfs(S,1<<30);
- }
- return an;
- }
- ll gcd(ll x,ll y){ return y?gcd(y,x%y):x;}
- ll a[505];
- int n;
- inline void build(){
- for(int i=1;i<=n;i++) if(a[i]&1) add(S,i,1); else add(i,T,1);
- for(int i=1;i<=n;i++) if(a[i]&1)
- for(int j=1;j<=n;j++) if(!(a[j]&1))
- if(gcd(a[i],a[j])==1&&gcd(a[i]+1,a[j]+1)==1) add(i,j,1);
- }
- int main(){
- scanf("%d",&n);
- for(int i=1;i<=n;i++) scanf("%lld",a+i);
- S=0,T=n+1,build();
- printf("%d\n",n-max_flow());
- return 0;
- }
[LibreOJ β Round #4] 子集的更多相关文章
- [LOJ#526]「LibreOJ β Round #4」子集
[LOJ#526]「LibreOJ β Round #4」子集 试题描述 qmqmqm有一个长为 n 的数列 a1,a2,……,an,你需要选择集合{1,2,……,n}的一个子集,使得这个子集中任意两 ...
- LibreOJ #526. 「LibreOJ β Round #4」子集
二次联通门 : LibreOJ #526. 「LibreOJ β Round #4」子集 /* LibreOJ #526. 「LibreOJ β Round #4」子集 考虑一下,若两个数奇偶性相同 ...
- LibreOJ β Round #2 题解
LibreOJ β Round #2 题解 模拟只会猜题意 题目: 给定一个长为 \(n\) 的序列,有 \(m\) 次询问,每次问所有长度大于 \(x\) 的区间的元素和的最大值. \(1 \leq ...
- loj #547. 「LibreOJ β Round #7」匹配字符串
#547. 「LibreOJ β Round #7」匹配字符串 题目描述 对于一个 01 串(即由字符 0 和 1 组成的字符串)sss,我们称 sss 合法,当且仅当串 sss 的任意一个长度为 ...
- [LOJ#531]「LibreOJ β Round #5」游戏
[LOJ#531]「LibreOJ β Round #5」游戏 试题描述 LCR 三分钟就解决了问题,她自信地输入了结果-- > -- 正在检查程序 -- > -- 检查通过,正在评估智商 ...
- [LOJ#530]「LibreOJ β Round #5」最小倍数
[LOJ#530]「LibreOJ β Round #5」最小倍数 试题描述 第二天,LCR 终于启动了备份存储器,准备上传数据时,却没有找到熟悉的文件资源,取而代之的是而屏幕上显示的一段话: 您的文 ...
- [LOJ#516]「LibreOJ β Round #2」DP 一般看规律
[LOJ#516]「LibreOJ β Round #2」DP 一般看规律 试题描述 给定一个长度为 \(n\) 的序列 \(a\),一共有 \(m\) 个操作. 每次操作的内容为:给定 \(x,y\ ...
- [LOJ#515]「LibreOJ β Round #2」贪心只能过样例
[LOJ#515]「LibreOJ β Round #2」贪心只能过样例 试题描述 一共有 \(n\) 个数,第 \(i\) 个数 \(x_i\) 可以取 \([a_i , b_i]\) 中任意值. ...
- [LOJ#525]「LibreOJ β Round #4」多项式
[LOJ#525]「LibreOJ β Round #4」多项式 试题描述 给定一个正整数 k,你需要寻找一个系数均为 0 到 k−1 之间的非零多项式 f(x),满足对于任意整数 x 均有 f(x) ...
随机推荐
- 在ArchLinux、manjaro中安装MySql(mariaDB)
安装MySql数据库.但是在MySql被Oracle收购之后,很多开源支持者就转而使用MariaDb了.不过MariaDb也和MySql兼容的,所以基本不用有什么担心.由于ArchLinux只带了Ma ...
- SolrCloud下DIH实践
创建Collection 在/usr/local/solrcloud/solr/server/solr文件夹下创建coreTest文件夹 将/usr/local/solrcloud/solr/serv ...
- FSMC原理通俗解释
所以不用GPIO口直接驱动液晶,是因为这种方法速度太慢,而FSMC是用来外接各种存储芯片的,所以其数据通信速度是比普通GPIO口要快得多的.TFT-LCD 驱动芯片的读写时序和SRAM的差不多,所以就 ...
- HDU:2586-How far away
How far away Time limit1000 ms Memory limit32768 kB Problem Description There are n houses in the vi ...
- Python之code对象与pyc文件(一)
Python程序的执行过程 我们都知道,C语言在执行之前需要将源代码编译成可执行的二进制文件,也就是将源代码翻译成机器代码,这种二进制文件一旦生成,即可用于执行.但是,Python是否一样呢?或许很多 ...
- python基础学习笔记——字典
字典(Dictionary) 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 { ...
- Selenium WebDriver-操作键盘事件
# 注意: !!!操作操作系统的按键,需要先装pywin32,然后通过交互模式import win32api和import win32con判断是否安装成功,需要重启下cmd进入交互模式# 下载链接: ...
- curl保存图片
$url = 'http://p1.qhimg.com/t013dfc89f8a039122c.jpg?size=690x460'; function http_get_data($url) { $c ...
- 【Luogu】P1411树(树形高精DP)
题目链接 我貌似又做了一道高精题呢(笑) 这题的DP方程很好想,设f[i][j]表示i为根的子树,i所在联通块大小为j的最大值,然后乱搞 但是要高精,那么搞是得要高精除的 所以考虑f[i][j]是除以 ...
- POJ——1321棋盘问题(DFS+回溯)
棋盘问题 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 33272 Accepted: 16456 Description 在一 ...