题目链接:点击查看

题目大意:给出笛卡尔树的定义,现在要求给出 n 个点对 ( x , sin( x ) ),使得笛卡尔树的高度尽可能大

题目分析:如果想让笛卡尔树的高度尽可能大,令其退化为一条链即可,考虑如何令其退化为一条链,一个比较简单的方法是让 x 和 sin( x ) 都单调

考虑 sin( x ) :在  上单调递增

如果抛开 x 是整数的限制,只需要将这个长度为 π 的区间等分成 n 段就是答案了

那么现在考虑如果 x 是整数该如何去做,因为 sin( x ) 是周期函数,所以设 ,那么

  1. ...

当 n = 3 时,用图像表示就是这样:

其意义显然同样是将 π 等分成 n 段,然后连成一条链输出即可

所以需要满足 ,得到 

因为 ,换句话说 ,综上得到 ,找到一个较小的 T ,依次输出其等差数列即可

然后这个题目中比较优秀的一个 T = 710

代码:

#pragma GCC optimize(2)
#pragma GCC optimize("Ofast","inline","-ffast-math")
#pragma GCC target("avx,sse2,sse3,sse4,mmx")
#include<iostream>
#include<cstdio>
#include<string>
#include<ctime>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<stack>
#include<climits>
#include<queue>
#include<map>
#include<set>
#include<sstream>
#include<cassert>
#include<bitset>
#include<unordered_map>
#include<unordered_set>
using namespace std;typedef long long LL;typedef unsigned long long ull;const int inf=0x3f3f3f3f;const int N=510;int main()
{
#ifndef ONLINE_JUDGE
//  freopen("data.in.txt","r",stdin);
//  freopen("data.out.txt","w",stdout);
#endif
//  ios::sync_with_stdio(false);int n;scanf("%d",&n);for(int i=0;i<n;i++)printf("%d\n",-17750000+i*710);return 0;
}

中石油训练赛 - Bad Treap(数学)相关推荐

  1. 中石油训练赛 - 数学问题(思维)

    题目描述 我们高中曾经学过何为组合数. 那么,给出整数n,m,g,聪明的你能否求出有多少整数对(i,j),满足g整除吗?(其中0≤i≤n,0≤j≤min(i,m)). (提示:n!=1×2×⋯×n:特 ...

  2. 中石油训练赛 - Trading Cards(最大权闭合子图)

    题目大意:给出 n 个卡片,可以自由买卖,且价格都是相同的,再给出 m 个集合,如果已经得到了其中一个集合中的卡片,那么可以获得该集合的收益,问如何操作可以使得收益最大化 题目分析:最大权闭合子图的模 ...

  3. 中石油训练赛 - Watch Later(状压dp)

    题目链接:点击查看 题目大意: 给出一个长度为 n 的字符串,字符串中共有 k 种不同的字符,现在问删除掉所有字符的最小操作数,对于每种字符需要确定一个先后顺序,每次需要删除掉当前所有的这种字符才能去 ...

  4. 中石油训练赛 - 位置(模拟+思维)

    题目描述 由于晨晨还没有研究出核心算法,在游戏中总是被明明击败.晨晨拿出了杀手锏进行反击,精心设计了一个大型取数字求位置的难题:N*N( N是奇数)个地砖,每个上面写有一个编号,这些编号正好是1到N平 ...

  5. 中石油训练赛 - Swapping Places(字典序最小的拓扑排序)

    题目链接:点击查看 题目大意:给出 s 个字符串表示种类,再给出 m 个朋友关系,表示两个种类的动物是朋友,现在给出一个长度为 n 的种类排列,规定相邻两个是朋友的种类的动物可以交换位置,问如何操作, ...

  6. 中石油训练赛 - Gone Fishing(固定大小的圆可以覆盖最多的点)

    题目大意:在二维平面中给出 n 个点,再给出一个固定大小的圆,问如何放置这个圆可以使其覆盖最多的点 题目分析:首先不难想到一种 n^3 的做法,就是两层循环去枚举两个点,因为两个不同的点就可以确定下来 ...

  7. 中石油训练赛 - Russian Dolls on the Christmas Tree(树上启发式合并/主席树)

    题目链接:点击查看 题目大意:给出一棵 n 个节点的树,以点 1 为根,现在对于每个节点作为根的子树求解:子树中有多少个编号不相交的连续子段,如:1 2 4 5 7,共有三个连续的段,分别为 [ 1 ...

  8. 中石油训练赛 - Check List(线段树维护偏序问题)

    题目大意:给出 n 个点,需要计算出满足下列条件的三元对 ( i , j , k ) 的数量: x[ i ] < x[ j ] < x[ k ] y[ k ] > y[ i ] &g ...

  9. 中石油训练赛 - High Load Database(二分+记忆化)

    题目链接:点击查看 题目大意:给出一个长度为 n 的数列,再给出 m 次询问,每次询问给出一个阈值 x ,问最少将数列分割成多少段,可以使得每一段的总和都不超过 x,无解的话输出 Impossible ...

最新文章

  1. 【推荐】《精通.NET互操作:P/Invoke,C++ Interop和COM Interop》
  2. HTML基础_Day02
  3. 奥巴马经济顾问:哪怕丢了“饭碗”,也必须加大投资AI!
  4. CentOS7启用SELinux和Firewall修改ssh端口号
  5. C++ 四种类型转换
  6. seata使用报错no available service found in cluster ‘default‘
  7. 解除mysql只有本机可以访问的限制
  8. Ant—如何Windows操作系统中搭建Apache Ant环境
  9. mct接收_BLOCK MCT红外探测器模块
  10. Android 图片人脸识别剪切
  11. oracle序列可以创建同义词吗,Oracle基础教程:同义词与序列
  12. QuickTime 介绍 下载 安装(win7及以上版本)
  13. SharePoint2016 - How to create App Catalog site?
  14. 周爱民给程序员的十点建议
  15. 如何注册Twitter,来学
  16. 功放与喇叭如何选型(喇叭声压计算问题)
  17. 项目揭秘:公众号小说赚钱与推广的暴利玩法(干货)
  18. 蓝桥信用卡号验证-枚举法应用 JAVA暴解
  19. linux signal
  20. kali下的免杀之veil安装步骤

热门文章

  1. Nacos源码主动健康检测
  2. MyBatis 源码解读-pluginElement()
  3. 运行效果演示-修改applcation-db.xml 文件
  4. 基于Xml 的IOC 容器-准备文档对象
  5. Elastic-Job配置步骤
  6. 一个http请求的整个流程
  7. 商品评价 - 信息脱敏
  8. MybatisPlus添加操作
  9. MQ事务消息实现方案
  10. SSM综合练习功能介绍与项目演示