Codeforces 1354 C1. Simple Polygon Embedding 原创 wx63db9cf49ed95 2023-02-03 11:24:02 博主文章分类:CodeForces ©著作权 文章标签 java 文章分类 运维 ©著作权归作者所有:来自51CTO博客作者wx63db9cf49ed95的原创作品,请联系作者获取转载授权,否则将追究法律责任 题意:给定 ,求能包围正 看图:设每个小三角形的角度为 正方形的边长就是 AC代码;const double PI = 3.1415926535898;int n, m;int main(){ int t; sd(t); while (t--) { sd(n); n *= 2; double ans = 0.0; ans = 0.5 / tan(PI / n); ans *= 2; printf("%.9lf\n", ans); } return 0;} 赞 收藏 评论 分享 举报 上一篇:Codeforces 1354 D. Multiset(树状数组) 下一篇:Codeforces 1354 C2. Not So Simple Polygon Embedding 提问和评论都可以,用心的回复会被更多人看到 评论 发布评论 全部评论 () 最热 最新 相关文章 C1. Simple Polygon Embedding(计算几何) C1. Simple Polygon Embedding(计算几何)传送门思路:因为正方形和正多边形都是中心对称图形,所以刚好满足时,两图形的中心肯定都是中心对称点,因为nnn为偶数,肯定是一半都要与另一半的情况是一样的,要最小肯定是相切最好,然后根据三角形的角度随便搞下就行了。具体图片见官方题解。。#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N=1e5+5;const doub 计算几何 c++ #include C Codeforces 1354 C2. Not So Simple Polygon Embedding nnn 是奇数的情况其实本质上就 java CF1354C Simple Polygon Embedding(计算几何) 题意: 给出一个正偶数边的多边形,计算它最小的外接正方形的边长。 题解: 草稿纸算一下就行,不会派的定义和调用C++内置的三角函数方法,花了不少时间。。。 #include<bits/stdc++.h> using namespace std; #define PI acos(-1) int mai c++ #include 三角函数 #define 分享 CF1354C2 Not So Simple Polygon Embedding(计算几何) 题意: 给出一个奇数边的正多边形,请你计算它最小的内接正方形的边长。 题解: 要推一下公式,比赛的时候来不及了,赛后也是蒙蔽。。。 #include<bits/stdc++.h> using namespace std; #define PI acos(-1) int main() { int t; #include #define c++ 分享 CF EC 87 div2 1354 C2 Not So Simple Polygon Embedding 计算几何 结论 LINK:Not So Simple Polygon Embedding 搞了好久终于搞会了。 错误原因 没找到合适算边长的方法 要么就是边长算的时候算错了。 几何学的太差了 最后虽然把十边形的和六边形的给解出来了 但是还是没有找到一个公式。 一个简单的方法:构建出外接圆 利用余弦定理等等来解三角形 计算几何 干货 C2. Not So Simple Polygon Embedding(计算几何) C2. Not So Simple Polygon Embedding传送门思路:先用一个较大的正方形装一下,然后试着旋转一下它的角度,可以观察最多旋转π2n\dfrac{\pi}{2n}2nπ度。如果再旋转π2n\dfrac{\pi}{2n}2nπ度就是之前的逆旋转,所以没必要,后面就是最开始的图形更没必要。然后可以观察到,因为距离最远存在一个最值,且距离最远的两点距离是先增大后减小的。可以猜想是凸函数,然后三分。或者直接猜结论是转到中间角度有最大答案。然而答案就是中间角度π4n\dfrac{ #define c代码 #include c++ C Codeforces C Polygon for the Angle 任意一个正凸变形的外角和一定为360度,所以正n边形的一个最大角为(180-360/n);最小角(即把最大角平分)为(180-360/n)/(n-2),正360边形的最小角为0.5度,最大角为179度。所以我们到从3到360一定能找到这个正多边形。我们只需要判断这个角是不是最小角的整数倍,并且不大于最大角。#include <bits/stdc++.h>using namesp... #include c++ i++ Codeforces Round #658 (Div. 2)C1. Prefix Flip (Easy Version)(贪心) 从最后开始看,如果最后一个数不一样说明一定要转。PS:对于这样给定操作的题,#include <iostream>#include <cstring>#include <string>#include <cstdio>#include <vector>#include <algorithm>//#define int long long#define IOS ios: #include ci ios C1. Balanced Removals (Easier)[几何贪心] 策略:每次从没有删去的点中选距离最短的点(可平方可不平方)策略:每次从没有删去的点中选距离最短的点(可平方可不平方)策略:每次从没有删去的点中选距离最短的点(可平方可不平方)设想一下,当我们选了a,b两点,b和a的距离是d设想一下,当我们选了a,b两点,b和a的距离是d设想一下,当我们选了a,b两点,b和a的距离是d如果有1个点c处在a,b围成的长方体内,说明c和a距离一定小于d如果有1个点c处在a,b围成的长方体内,说明c和a距离一定小于d如果有1个点c处在a,b围成的长方体内,说明c和a距离一定小于 sed i++ 最短距离 c++ #include C1. Skyscrapers (从easy到hard) easy传送门hard传送门Ⅰ.easy版本\color{Red}{Ⅰ.easy版本}Ⅰ.easy版本其实核心就是理解条件:不能存在aj>ai<ak其实核心就是理解条件:不能存在a_j>a_i<a_k其实核心就是理解条件:不能存在aj>ai<ak其实就是对于每个ai来说,两边不能同时存在大于自己的数其实就是对于每个a_i来说,两边不能同时存在大于自己的数其实就是对于每个ai来说,两边不能同时存在大于自己的数假设数列有一个最大的ai,那么以这个ai为中心假 i++ 单调队列 5e c++ #include C1. Pokémon Army (easy version) // Problem: C1. Pokémon Army (easy version)// Contest: Codeforces - Codeforces Ro 动态规划 #define git c++ CodeForces 1277 C As Simple as One and Two Description: #define #include 字符串 Codeforces 1354 B. Ternary String 题意:给定一段只包含“1”“2”“3”的字符串,求其中包含三个数字的连续i] == '1') . 字符串 ci 子串 C1. Pokémon Army (easy version)(DP) C1. Pokémon Army (easy version)(DP)思路:dpdpdp。考虑:分数组长度的奇偶性进行dpdpdp。令dp[i][0]dp[i][0]dp[i][0]表示前iii个数答案为偶数长度的最大值,dp[i][1]dp[i][1]dp[i][1]表示前iii个数答案为奇数长度的最大值。显然有状态转移方程:dp[i][0]=max(dp[i−1][0],dp[i−1][1]−a[i])dp[i][0]=max(dp[i-1][0],dp[i-1][1]-a[i])dp[i][ #define c++ 数组长度 #include i++ Codeforces 1360 E. Polygon 题意:在一个 n∗nn*nn∗n 的网格上方和左边都有一排大炮,每次可以发射一个 ci Codeforces 1354 D. Multiset(树状数组) 题意;要你实现一个求第k大数的数据结构。树状数组模板题。AC代码:const i 数据结构 模板题 树状数组 codeforces 665C C. Simple Strings(乱搞) 题目链接: C. Simple Strings time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output time limit per t codeforces 乱搞 i++ c++11 c代码 Codeforces 437E The Child and Polygon(区间DP) 2017/1/10 题目链接:见这里 题意:现在有一个简单多边形,问有多少种划分方式,使得这个多边形被划分成数个面积不为0的三角形。 每个划分方式需要满足以下条件: .每个三角形的顶点都必须是原多边形的一个顶点。 .多边形的每个边不能同时作为多个三角形的边。 .任意两个三角形面积交为0,所有三角形面积和为多边形面积。 .每个三角形都必须在多边形内部 .三角形的每一边必须包含多边形的两个顶点 输 i++ 三角形面积 顺时针 LightOJ 1285 - Drawing Simple Polygon (几何,极角排序) 1285 - Drawing Simple PolygonPDF (English)StatisticsForumTime Limit:2 second(s)Me #include ide i++ 极角排序 ios