枚举
文章平均质量分 74
johsnows
正在静下心来学算法的acmer
展开
-
Atcoder Beginner Contest 55 D Menagerie (枚举+验证)
题意:有两种动物,羊会说事实,狼会故意说谎,一群动物站成一圈(只包含狼和羊),他们没人分别说自己旁边的两种动物是否相同.题目里是给出一串字符串,字符串里'X'代表站在这个位置的动物说它两边的动物种类不同,'O'代表站在这个位置的动物说它两边的动物种类相同,求符合这个字符串的动物排列方式,如果没有输出"-1".结题思路:数据范围是1e5,没有办法去枚举所有答案.但是根据题目给原创 2017-02-19 15:20:23 · 452 阅读 · 0 评论 -
计蒜客 2017 第四场 商汤科技的行人检测(中等)(几何)
中文题..https://nanti.jisuanke.com/t/15552解题思路:n^2枚举点对,然后根据这对点算出四个参数,然后重新跑一遍点,判断有多少个点的变换符合这个四个参数,超过一半就正确直接输出。具体的算法。scale 两个点之间的距离跟旋转和平移都没有关系,然后根据相似三角形可以知道两点之间距离的变化就是scale。坐标旋转量θ:旋转坐标前两个原创 2017-05-29 18:26:19 · 787 阅读 · 0 评论 -
codeforces 812 B Sagheer, the Hausmeister(枚举)
题意:有n层楼,小明需要从一层楼的左边开始去关n层楼种还未关灯的房间的灯,其中一层中最左边和最右边都是楼梯,问小明关完所有灯的时间,不需要计算返回的时间解题思路:小明到达一层楼只有从左边和右边楼梯上来两种情况,离开也一样,所以一旦确定当前这一层楼小明是从哪边上来,要从哪边离开,那么这层楼要怎么走就已经确定下来了。这里n只有15,所以我们只需要2^x(有灯亮的最顶层)去枚举每一层原创 2017-06-02 17:28:56 · 420 阅读 · 0 评论 -
uva 12507 Kingdoms(dfs+最小生成树)
题意:n(4-16)个点,每个点有权值,m条带权值的边,问在边权最多花费k的情况下,能让1这个点连通的点的权值加和最大为多少。解题思路:做题要看数据范围,n个点直接dfs枚举是否取2到n种的每个点,1肯定要取,然后用最小生成树把枚举出来的点连接,看是否能建成生成树,然后再看生成树的权值是否小于等于k,满足的情况算一下点权和,更新一下答案,就做完了。代码:#inc原创 2017-06-09 20:36:58 · 459 阅读 · 0 评论 -
codeforces 200 c Football Championship(枚举)
这题真的是有点毒,没说数据范围,我怕数太大分两次去二分,但是二元关系分两次二分还是错了。然后看了qls代码发现,数据范围其实很小。。那直接枚举check就ok了啊这一场题的顺序全是乱的,第一次打这样的cf,心累。。代码:#include using namespace std;struct node{ int point; string原创 2017-07-06 10:00:22 · 340 阅读 · 0 评论 -
Atcoder agc018 coins
题意:x+y+z个人,每人有a,b,c三种硬币若干个,只能从每个人手上拿一种硬币,其中能拿a种硬币最多x个人,b种y人, c种z人,问最多能拿几个硬币。解题思路:先对每个人按a-b的大小排序,这样的话,选择a的x人一定都在选择b的y人右边,假设存在选择a的人在选择b的人左边,那么原先拿a的拿b,原先拿b的拿a,获得的金币数量要比原先多。现在可以枚举下,y人是在前k人中选取,原创 2017-07-24 20:17:32 · 637 阅读 · 0 评论