首页 > 其他分享 >[Atcoder]ABC266题解

[Atcoder]ABC266题解

时间:2022-08-29 18:16:21浏览次数:73  
标签:Atcoder int 题解 ABC266 100010 四边形 三角形

C - Convex Quadrilateral

计算几何

给定平面内四个点,要求判断它们组成的四边形是否是凸四边形

法一:

示例

凸四边形的两条对角线将其分成两个三角形

分成的两个三角形面积相加等于四边形的面积

而显然这个结论对于凹四边形不成立

那么我们就可以利用这个结论进行解题

三角形面积用海伦公式求解


D - Snuke Panic(1D)

动态规划

设\(f[i][j]\)表示i时刻时在j位置的最大值\((j\in[0,4] \ \&\&\ i,j\in\textbf Z)\)

直接转移即可

#include <bits/stdc++.h>
#define int long long
using namespace std;
int n,f[100010][5],lst,ans=-1;
struct node
{
    int t,a,x;
}q[100010];
struct node2
{
    int a,x;
}w[100010];
signed main()
{
    scanf("%lld",&n);
    for (int i=1;i<=n;i++)
    {
        scanf("%lld %lld %lld",&q[i].t,&q[i].x,&q[i].a);
        w[q[i].t].a=q[i].a;
        w[q[i].t].x=q[i].x;
        lst=max(lst,q[i].t);
    }
    memset(f,-1,sizeof(f));
    f[0][0]=0;
    for (int i=1;i<=lst;i++)
    {
        for (int j=0;j<=4;j++)
        {
            if (j==0) f[i][j]=max(f[i-1][j],f[i-1][j+1]);
            else if(j==4) f[i][j]=max(f[i-1][j-1],f[i-1][j]);
            else f[i][j]=max(f[i-1][j-1],max(f[i-1][j],f[i-1][j+1]));
        }
        if (f[i][w[i].x]!=-1) f[i][w[i].x]+=w[i].a;
    }
    for (int i=0;i<=4;i++)
        ans=max(ans,f[lst][i]);
    printf("%lld",ans);
    //system("pause");
    return 0;
}

标签:Atcoder,int,题解,ABC266,100010,四边形,三角形
From: https://www.cnblogs.com/xu2006/p/16636862.html

相关文章

  • [POJ1062]昂贵的聘礼题解
    [POJ1062]昂贵的聘礼题目链接【题目大意】现有n个物品,每个物品价格为vi,同时可以用其他物品减免价格(当然,你必须拥有该物品).问如何购买可以使得到物品1的花费最少.此外,还......
  • CF1455G Forbidden Value 题解
    CF1455GForbiddenValue已知初始值\(x=0\),给定下面2种命令:set\(y\)\(v\),令\(x=y\),或花费\(v\)元钱删除该命令;if\(y\)...end,如果\(x==y\),执行if...end中的命令,否......
  • 题解 树套树
    题面二叉查找树(BST)是一种简单的数据结构,本题默认你已经熟悉BST的插入和查询两种操作。给你一棵树,每个节点有一个BST。有以下两种操作:\(u,v,k\):在路径\((u,v)\)上每......
  • AtCoder Beginner Contest 266 题解
    只有ABCDEFG的题解。A模拟。代码voidmian(){strings;cin>>s;intpos=int(s.size())/2;cout<<s[pos]<<endl;}B模拟,注意longlong。......
  • pip下载慢问题解决方案
    在使用Python开发过程中,经常要用pip安装软件包,但是直接使用pipinstallpackagename经常慢得要死,而且慢就算了很多时候还下载完成安装失败。问题原因pip默认使用的是国外......
  • P1003 [NOIP2011 提高组] 铺地毯 题解
    题目传送门[NOIP2011提高组]铺地毯题目描述为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。一共有\(n\)......
  • AtCoder Beginner Contest 266 D(DP)
    ……题面Takahashi要抓Snuke。好狠心的Takahashi呀(bushiSnuke有5个洞(,在$0m,1m,2m,3m,4m$处。Takahashi开始在$0m$处,每秒他能走$1m$。第$i......
  • AtCoder Beginner Contest 266 A-D
    AtCoderBeginnerContest266https://atcoder.jp/contests/abc266EF待补A-MiddleLetter输出字符串最中间的那个字母#include<bits/stdc++.h>usingnamespace......
  • MQ的消息丢失/重复/积压的问题解决
    在我们实际的开发过程中,我们肯定会用到MQ中间件,常见的MQ中间件有kafka,RabbitMQ,RocketMQ。在使用的过程中,我们必须要考虑这样一个问题,在使用MQ的时候,我们怎么确保消息100%......
  • Atcoder ABC 266 EF
    E题目大意有一个游戏,你可以玩\(n\)次,每次投一个骰子,若数字为\(X\),则:若这把是第\(n\)把,那么你的分数为\(X\),游戏结束否则,你可以选择继续游戏,或者立刻停止游戏,分数为\(X......