洛谷p1338末日的传说(思维好题,数学)
题目链接:https://www.luogu.org/problemnew/show/P1338
题目暴力全排列是肯定不行的。
比较难想啊,关键抓住字典序小也就是小的数尽量往前排,找剩余的逆序对数!
思考逆序对数需要用到数学排列组合的知识,长度为n的序列最多有n(n-1)/2个逆序对,组合数知识一算就知道。
还需要long long才过= =
1 #include <iostream> 2 using namespace std; 3 typedef long long ll; 4 const int maxn=1e5+5; 5 ll a[maxn]; 6 ll n,m; 7 8 int main() 9 { 10 ios::sync_with_stdio(false); cin.tie(0); 11 12 cin>>n>>m; 13 14 ll last=n,first=1; 15 for(int i=1;i<=n;i++) 16 { 17 int t=(n-i)*(n-i-1)/2;//长度为n的序列最多有这么多对 18 19 if(t>=m) a[first++]=i;//放开头 20 else 21 { 22 a[last--]=i; 23 m=m-(last-first+1);//放最后 24 } 25 } 26 27 for(int i=1;i<=n-1;i++) cout<<a[i]<<' '; 28 cout<<a[n]<<endl; 29 30 return 0; 31 }
完。
转载于:https://www.cnblogs.com/redblackk/p/9940374.html
洛谷p1338末日的传说(思维好题,数学)相关推荐
- #模拟#洛谷 1338 末日的传说
题目 就是求 1 ∼ n 1\sim n 1∼n排列逆序对总数为 m m m,字典序最小 分析 一开始最大逆序对总数为 n ∗ ( n − 1 ) / 2 n*(n-1)/2 n∗(n−1)/2 ( ...
- 洛谷P1119 灾后重建 图论 脑洞题
洛谷P1119 灾后重建 图论 脑洞题 floyd floyd中 k 的意义 通过前 k 个点 作为中间的节点 更新 i 到 j 的最短路 也就是 只经过前 k 个点 的最短路 帮助理解 ...
- 洛谷 P1196 银河英雄传说
题目描述 公元五八○一年,地球居民迁移至金牛座α第二行星,在那里发表银河联邦 创立宣言,同年改元为宇宙历元年,并开始向银河系深处拓展. 宇宙历七九九年,银河系的两大军事集团在巴米利恩星域爆发战争.泰山 ...
- 洛谷入门1【顺序结构】题单题解
目录 超级玛丽 字母转换 数字反转 再分肥皂水 小鱼的游泳时间 小学数学N合1 三角形面积 苹果和虫子 对角线 上学迟到 [入门1]顺序结构 - 题单 - 洛谷 | 计算机科学教育新生态 (luogu ...
- 洛谷OJ U552 守墓人 线段树模板题
题目描述 Description 在一个荒凉的墓地上 有一个令人尊敬的守墓人, 他看守的墓地从来 没有被盗过, 所以人们很放心的把自己的先人的墓 安顿在他那 守墓人能看好这片墓地是必然而不是偶然... ...
- P1338 末日的传说
题目描述 只要是参加jsoi活动的同学一定都听说过Hanoi塔的传说:三根柱子上的金片每天被移动一次,当所有的金片都被移完之后,世界末日也就随之降临了. 在古老东方的幻想乡,人们都采用一种奇特的方式记 ...
- 洛谷1852 BZOJ2144 跳跳棋 思维题
题目链接 题意: 坐标轴上告诉你三个互不相同的位置作为三个棋子的起点,再告诉你三个不同的位置作为三个棋子的终点,每次操作可以让一个棋子以另一个棋子为轴跳到对称位置,并且只能跳过一个棋子,问你是否能最终 ...
- 洛谷P1196 银河英雄传说
题目大意: 一些战舰,初始时每个都在自己编号对应的队列中,现在有两个操作 : M a b:把a战舰所在的队列顺序不变的接到b战舰所在队列尾部 C a b:询问a b在同一个队列之间的距离 如果a b不 ...
- 洛谷P1110 报表统计 multiset stl好题
题目链接 一开始自己想的是multiset维护顺序结构,然后查找所有的值差最小时候找加入的当前点的前驱以及后继,然后查找相邻两个的就用线段树维护一个差最小值~,但是后来发现是全局的,直接再开一个mul ...
最新文章
- 如何查看一个命令是否被修改过
- python免费试听-Python
- php docker开发环境,使用Docker的PHP开发环境
- shell 做加法运算_C语言探索之旅 | 第一部分第七课:运算那点事
- std::thread 不 join
- 网络传输之TCP/IP协议族
- [前台]---js+jquery校验姓名,手机号,身份证号
- 贪吃蛇的编程python_python实现贪吃蛇游戏
- CSS li 一半左浮一半右浮
- Linux父进程如何发信号给子进程,在父进程和子进程之间发送信号
- 【公众号系列】站在烦恼里仰望幸福
- 百度云html提取码,百度网盘提取码怎么设置?百度云设置提取码的操作方法
- 共享经济-共享汽车市场调研报告
- 查看电脑ip地址、查看手机ip地址、根据域名查看ip地址
- iPhone 日历事件自动消失
- CorelDRAW2022订阅版本最新更新内容
- 内存不能为read或written的解决方案
- APISpace 预热开启
- JDK软件安装+环境变量配置图文详解(Win10环境)
- LiteOS通信模组教程05-LiteOS的SAL及socket编程实例
热门文章
- 论高校计算机信息管理能力的提升,论高校计算机信息管理能力的提升
- nginx main user
- class matplotlib.markers.MarkerStyle(marker=None, fillstyle=None)
- Pandas 文本数据方法 join( )
- 小宝机器人怎么开机_是我低估了网友的脑洞 扫地机器人充电“事故现场”
- c语言数组处理实验报告心得体会,C语言实验报告总结计划数组.doc
- vSAN 6.7培训_第1章-Virtual SAN各版本功能介绍
- 通过Server 2019中的组策略部署桌面墙纸 详解组策略环回处理
- 银行核心系统之应用集成
- Tomcat学习总结(4)——基于Tomcat7、Java、WebSocket的服务器推送聊天室