传送门

题意

给 nnn 种颜色分配 1−n1-n1−n 之间的数字,使得其按题目给定的排列时,同一列上的差值之和最大。

手模样例 111 后可以发现只要按照最贪(在剩余的可选择中最大配最小)分配,与环内颜色数目的多少没有关系。

对于具有 xxx 种颜色的偶数环,容易想到其中将分配到 x/2x/2x/2 个最大值和最小值,由此在样例 111 中前四列组成的环能够产生的贡献为 5、4、4、35、4、4、35、4、4、3,人为操作后可以变成 5、5、3、35、5、3、35、5、3、3 ,而对于奇数环,可以将 2、1、12、1、12、1、1 转化为 2、22、22、2 进行计算,由此推出规律即可。

#include<bits/stdc++.h>
#define int long longusing namespace std;
const int N=1e5+10;
int numa[N],numb[N],vis[N],ne[N],w[N];int maxx,minn,sum;int dfs(int pos){int res=1;vis[pos]=1;while(1){pos=ne[pos];if(vis[pos])break;vis[pos]=1;res++;}return res;
}void solve(){int n;cin>>n;for(int i=1;i<=n;i++)cin>>numa[i];for(int i=1;i<=n;i++)cin>>numb[i];for(int i=1;i<=n;i++)ne[numa[i]]=numb[i];int sum=0,tmp=0;memset(vis,0,sizeof(vis));for(int i=1;i<=n;i++){if(vis[i])continue;int res=dfs(i);tmp+=res/2;}for(int i=0;i<tmp;i++)sum+=(n-1-2*i)*2;cout<<sum<<endl;
}signed main(){ios_base::sync_with_stdio(0);cin.tie(0); cout.tie(0);int T;cin>>T;while(T--) solve();return 0;
}

cf1677C. Tokitsukaze and Two Colorful Tapes(div1)相关推荐

  1. 线段树/扫描线问卷调查反馈——Rmq Problem / mex(主席树),Boring Queries(二分+st表+主席树),Colorful Squares(扫描线)

    文章目录 Rmq Problem / mex Boring Queries Colorful Squares Rmq Problem / mex luogu4137 对aia_iai​建权值线段树 再 ...

  2. AGC016B Colorful Hats(构造)

    题目大意: 给定n和n个数,每个数a[i]代表除了i外序列中颜色不同的数的个数,问能否构造出来这个数列. 比较简单,首先先求出来a数列的最大值Max, 如果有数小于Max-1,那么显然是不存在的 接下 ...

  3. AtCoder 4169 [ARC100D] Colorful Sequences(dp)

    problem 洛谷链接 solution 逆向考虑.ans=ans=ans= 所有蛋糕中的 aaa 序列出现次数 −-− 在 non−colorfulnon-colorfulnon−colorful ...

  4. cf1693C. Keshi in Search of AmShZ(div1)【最短路,反向建图】

    传送门 题意 在一个有向图上需要从点 111 到点 nnn,每次可以选择以下一种操作: 1.删除一条边 2.随机移动到当前点能够通向的另一点 求所需操作次数到达终点的最大值的最小值 看到求最大值的最小 ...

  5. UPC-5594 Colorful Slimes(思维)

    题目描述 Snuke lives in another world, where slimes are real creatures and kept by some people. Slimes c ...

  6. 2021年洛谷一月月赛(Div1、Div2,6题)全部题解

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 A.P7285 「EZEC-5」修改数组(思维) B.P7286 「EZEC-5」人赢(贪心) ...

  7. 【CF#505B】Mr. Kitayuta's Colorful Graph (并查集或Floyd或BFS)

    题干: Mr. Kitayuta has just bought an undirected graph consisting of n vertices and m edges. The verti ...

  8. 山东省第五届省赛题C Colorful Cupcakes(五维数组+记忆化搜索)

    在写题目之前先来介绍一下记忆化搜索. 算法上依然是搜索的流程,但是搜索到的一些解用动态规划那种思想和模式保存.一般来说,动态规划总要遍历所有的状态,而搜索可以排除一些无效的状态.最最最最最主要的是,搜 ...

  9. python操作word文档(python-docx)

    python操作word文档(python-docx) 1. 效果图 1.1 python-docx文档标题段落(等级.加粗.斜体.居中)效果图 1.2 python-docx字体(加粗.斜体.居中. ...

最新文章

  1. winform闪屏问题解决方案
  2. Win7电脑定时关机怎么设置
  3. 华为云服务产品之精华问题大集烩(四)
  4. java.servlet不存在_eclipse提示servlet不存在 的解决办法
  5. 面对满天繁星似的知识.如何做到老虎吃天
  6. (raspberry、bananapi)Archlinux 无法安装yaourt解决办法-----手工编译(不难)(适用于package-query找不到)
  7. linux输入密码后提示密码错误,用sudo命令没有提示输入密码,而是出现sudo:3次错误密码尝试的解决...
  8. Selenium自动化测试框架基础操作
  9. xp计算机退出家庭组,win7电脑中如何退出加入的家庭组?
  10. 微信小程序WebSocket接口以及在小程序中的使用。
  11. ssd处理灰度图_ECCV 引用量最高的10篇论文!SSD登顶!何恺明ResNet改进版位居第二...
  12. 微信多开?一招教你想开几个开几个
  13. 自己过不好的生活,干嘛甩锅给手机?
  14. 什么是创业板股票?如何购买?
  15. 微信UUID 微信最新滑块 uuid算法 微信协议
  16. MAKINO 牧野 PRO3维修
  17. docker启动容器服务之后访问失败
  18. MQ如何保证分布式事务的最终一致性
  19. Leader 对我说:「bug 是改不完的」,这几个意思?
  20. 一款基于SpringBoot 音乐网站项目

热门文章

  1. 循环闹钟c语言,闹钟设置四天一个循环,自定义周期循环提醒便签
  2. Referrer、Referrer-policy
  3. 什么样的微信头像最撩人?
  4. 微信公众平台测试帐号-配置
  5. Zepeto正加速摆脱“捏脸”应用的传统印象,成为亚洲最大虚拟世界平台
  6. sql 语句 将查询结果中数字等标示转成汉字
  7. VIM的初学配置文件
  8. 【读书】迟子建《额尔古纳河右岸》 摘录
  9. 汉语拼音拼读的小技巧
  10. python命令行输入参数_Python命令行参数处理