【代码有点问题待修正】
题意:找有多少个满足的形:

与牛客的数三角都是1类的题,枚举嘛~,,,点越多越麻烦就是了。以下是看完题解后的感想。
学到的语法东西:
1.struct 中那个是友元函数,可以重载操作符,就不用写sort的那个cmp了。
2.指针挺好的,可以以后多用用。
3.enum是枚举类型,跟define作用差不多。
忘了的话,参考链接:https://www.bilibili.com/video/av11828716?from=search&seid=13528813215642475026
4.std::的作用

那是命名空间,你所用到的很多函
数或者类都是被放到命名空间里面的,
命名空间是防止名字重复而使用的,
比如STL有个类叫string,而你也
设计一个类叫string,那么编译器
编译的时候就搞不清楚到底是那个string.

代码的思路:
逆时针标记5点(从1开始)
这个是枚举5点的思路
对于每个5点, 我们向前找到可用的所有3,4点, 1,2点是分隔点,对于每个1点, 它可用的4点组合都是x介于1和5两个点之间的点,2点是5点左边任何一个y与5点相同的点,可以发现, 对于一个给定的1点, 做一遍前缀和就可以算出它能够与多少2,3点的组合进行匹配,然后, 对于每个1点,其所可能的2,3点组合与可能的4点组合相乘。把这些结果相加就是最后结果了。

#include <bits/stdc++.h>
using namespace std;
const int mod=1e9+7;
struct Point {int x,y;friend bool operator<(const Point &a, const Point &b) {a.x < b.x;}
}pts[5001];
int n;
void solve();
int add(int a,int b) {return (a+b)%mod;
}
int main()
{int t;scanf("%d", &t);while(t--) {scanf("%d", &n);for(int i=1; i<=n; i++) {scanf("%d %d", &pts[i].x, &pts[i].y);}std::sort(pts+1,pts+n+1);solve();}return 0;
}
int post[5001];
int sig[5001];
int sumcis[5001],sumbeg[5001];
enum sigty{EQ,GT,
};
void solve() {int res=0;for(int now=1; now<=n; now++) {int lim=1;post[1]=0;for(Point *it=pts+now-1; it!=pts; it--) {if(it->y < pts[now].y)++post[lim];else{++lim;post[lim]=0;sig[lim]= it->y == pts[now].y ? EQ:GT;   }for(int i=2; i<=lim; i++)sumcis[i]=add(post[i-1],sumcis[i-1]);int fac=0;sumbeg[lim+1]=0;for(int i=lim;i>0; i--){sumbeg[i]=add(sumbeg[i+1],fac*post[i]%mod);if(sig[i]==EQ)++fac;} //point 2th and 3th zuhe for(int i=1; i<=lim; i++) {if(sig[i]==GT)res=add(res,sumcis[i] * sumbeg[i]%mod);}}}printf("%d\n",res);
}

[枚举]ACPC:Problem B. The Lion King相关推荐

  1. THE LION KING

    Today I wanna talk about a familiar classic movie. The reason why I want to introduce it is that it' ...

  2. 【Column Generation思考-02】|从对偶的角度理解Cutting Stock Problem【更新版本】

    [Column Generation思考-01]|从对偶的角度理解 Cutting Stock Problem简介 Cutting Stock Problem的Column generation re ...

  3. Cycle3-Group1

    旁白,太子丹,阿三,西门吹雪,荆轲,妻子,大臣甲, 大臣乙,卫兵丙,秦王,卫兵甲,卫兵乙The man wants to kill the king旁白:It was war periods time ...

  4. Daily record-October

    October 1 1. Hope is a good thing, maybe the best of things, and no good thing ever dies. 希望是美好的,也许是 ...

  5. (转载)Everynes NES Hardware Specifications

    原文: NES Specifications  Everynes - Nocash NES Specs Everynes Hardware Specifications Tech Data Memor ...

  6. 有关计算机的英语作文一千字,英语作文一封信大学1000词5篇

    听到大家的赞美,他心里美滋滋的!????? We?heard?the?praise,?he?was?flattered!--小编带你了解更多有趣的内容,接下来要给大家提供的是:英语作文一封信,希望你认 ...

  7. 2017.7.4 ACM校内赛 Round 2

    这是一个向导 A - hdu 3652 B - bzoj 4152 C - bzoj 2429 D - bzoj 1087 E - bzoj 1566 F - bzoj 4043 G - bzoj 1 ...

  8. 解题报告(十八)数论题目泛做(Codeforces 难度:2000 ~ 3000 + )

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量的题解和代码,题目难度不一 ...

  9. php stdclass,php – 处理stdClass对象

    谷歌搜索了一段时间后,我发现我可以使用此代码进行谷歌搜索: $text=$_GET['text']; $results=file_get_contents("http://ajax.goog ...

最新文章

  1. java中jar打包的方法
  2. Java学习个人备忘录之线程间的通信
  3. PHP登录带图片,PHP登录注册完整图片验证码实现
  4. c语言素数程序出现大空行,C语言实现寻找大素数
  5. 前端学习(741):通过榨汁机看透函数
  6. 体积最小桌面linux,Tiny Core Linux - 体积最小的精简 Linux 操作系统发行版之一 (仅10多MB) - 蓝月网络...
  7. 利器:服务器与CST时间误差8小时的修复方法——timedatectl
  8. iOS开发总结(A0)- MultipeerConnectivity
  9. Docker下安装GitLab
  10. 阿里正式进军机器人赛道,首款物流机器人“小蛮驴”来了!
  11. 不会JS中的OOP,你也太菜了吧!(第二篇)
  12. Java基础知识小杂库
  13. java自带日志等级_JDK日志分级
  14. 最佳的46+14款免费软件
  15. 一款极致的文件对比工具——Beyond Compare,适用于Windows、macOS和Linux的文件和文件夹比较
  16. 计算机系大学生为什么选择在CSDN写博客?
  17. 在WinCC V7.3中如何导出过程值进行数据归档
  18. 学生信息管理系统代码
  19. 百度搜索框的测试点:
  20. Can‘t reconnect until invalid transaction is rolled back

热门文章

  1. android 换肤(1)——插件式无缝换肤(解析鸿洋大神的换肤流程)
  2. 陶哲轩实分析(上)8.1及习题-Analysis I 8.1
  3. Colab、矩池云、mistGPU几个云GPU使用心得
  4. openGauss亮相VLDB2020,展示内存优化研究成果
  5. JAVA实现手机短信验证码在指定有效的时间里校验
  6. ChatGPT会砸了谷歌的饭碗吗?(附彩蛋)
  7. 图解GitHub和SourceTree 入门教程 使用教程
  8. usb触摸屏驱动 - usbtouchscreen
  9. cmdb python 采集虚拟机_CMDB学习之八,完成所有资产采集信息的收集
  10. python 之 arrow