1. 程式人生 > >HDU-5858 Hard problem(數學公式、計算幾何)

HDU-5858 Hard problem(數學公式、計算幾何)

題意:

已知正方形邊長,圓是內切圓,1/4圓半徑等於正方形邊長,求圖中陰影部分的面積。

思路:


對於我這種高中畢業之後就再沒做過幾何的人還是挺困難的,亂七八糟的公式都忘掉了。

做完輔助線之後,其實就是求兩個扇形的面積和兩個三角形的面積,可以找出如圖三個邊長,然後根據餘弦定理可以求得cos∠1和cos∠2進而得到兩個角度,然後根據扇形弧長公式和扇形面積公式可以求得扇形弧長以及面積,然後再根據正弦定理可以求得兩個三角形的面積,最後加減組合一下就是一個陰影面積,然後再*2就是答案。

補充:

餘弦定理:對於任意三角形,任何一邊的平方等於其他兩邊平方的和減去這兩邊與它們夾角的餘弦的兩倍積,即a^2 = b^2+c^2-2bccos(α)。

正弦定理:在任意三角形中,角A、B、C所對的邊長分別為a、b、c,三角形外接圓的半徑為R。則有:

變形:a = 2RsinA, b = 2RsinB, c = 2RsinC

三角形面積公式:S = 1/2bcsinA = 1/2acsinB = 1/2absinC

扇形弧長公式:L = α×r = nπr/180,其中α是圓心角弧度,n是圓心角度數,r是半徑。

扇形面積公式:S = L×R/2 = α×R^2/2,其中α是圓心角弧度,L是弧長,R是半徑。

程式碼:

#include <bits/stdc++.h>
using namespace std;
const double pi = acos(-1.0);
int t, l;
int main()
{
	for(scanf("%d", &t); t--;)
	{
		scanf("%d", &l);
		double th1 = 2*acos(5*sqrt(2)/8);
		double th2 = 2*(pi-acos(sqrt(2)/-4));
		double L1 = th1*l;
		double L2 = th2*(l/2.0);
		double s1 = L1*l/2;
		double s2 = L2*(l/2.0)/2;
		double s3 = l*l*sin(th1)/2;
		double s4 = l/2.0*l/2.0*sin(th2)/2;
		double area = s2-(s1-s3)-s4;
		printf("%.2f\n", area*2); 
	}
	return 0;
}

繼續加油~

相關推薦

HDU-5858 Hard problem(數學公式計算幾何)

題意: 已知正方形邊長,圓是內切圓,1/4圓半徑等於正方形邊長,求圖中陰影部分的面積。 思路: 對於我這種高中畢業之後就再沒做過幾何的人還是挺困難的,亂七八糟的公式都忘掉了。 做完輔助線之後,其實就

HDU 5858 Hard problem計算幾何

Time Limit: 2000/1000 MS (Java/Others)     Memory Limit: 65536/65536 K (Java/Others) Problem Description cjj is fun with math prob

HDU 5858 Hard problem計算幾何)【較難】【多校聯合8.18】

解題思路: 看懂這個圖,這個題就能A掉了。 下面是AC程式碼: #include<cstdio> #include<cstring> #include<c

HDU - 5858 Hard Problem (simpson積分)

asr \n int show turn push first 陰影部分 bubuko 原題鏈接 題意: 給定一個邊長為n的正方形,求陰影部分面積 思路: 現將圖形順時針旋轉 45° 然後建立坐標系,寫出陰影部分方程,用Simpson積分算一下就行

5858 Hard problem(數學)

Hard problem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 497    Accepted

涉及的物理數學公式計算過程

計算中存在的問題 模擬的視覺化主要基於Geogebra實現。Geogebra演示能力強,操作大部分是互動式的,少量的程式碼和函式只是讓它潛能更大。Geogebra的數值計算方法的能力之強,遠超出了常人對一個幾何類軟體本該有的期望。——這就是為何選擇Geogeb

數學計算幾何位運算常見問題詳解

splay nsf let pen ide ont display you size ? 矩陣上的問題(3題) Search a 2D Matrix II public int searchMatrix(int[][] matrix, int target) {

計蒜客 ACM-ICPC 2018 南京賽區網絡預賽 A. An Olympian Math Problem-數學公式

span anti data help NPU https sin %20 -o A. An Olympian Math Problem 54.28% 1000ms 65536K Alice, a student of grade 66

MATLAB數學公式計算

1、矩陣kron計算 克羅內克積   C=kron(A,B) https://baike.baidu.com/item/%E5%85%8B%E7%BD%97%E5%86%85%E5%85%8B%E7%A7%AF/6282573?fr=aladdin 2、矩陣的常用演算法

[bash]判斷三角形型別計算數學表示式計算N個整數的指定精度的平均值

判斷三角形為等邊三角形、等腰三角形或不等邊三角形 #!/bin/bash #https://www.hackerrank.com/challenges/bash-tutorials---more-on-conditionals/problem read a read b read c

徑向基-薄板樣條插值數學公式原理,以及程式碼實現基本過程

徑向基插值部分 徑向基函式RBF (Radial Basis Function)有以下五種基函式 其中r代表代待求點X與已知點Xi之間的向量距離 上邊的公式是適用於以上五種基函式的計算公式,其中X代表向量,不是一個數字 對於薄板樣條插值,其公式(是經過上邊

CNN數學公式Caffe框架簡要

1. 前言  下載AR人臉資料庫,用Caffe-face中的face_example中的模型去學習,用一體機CPU方式,感覺沒多久就宕機了似的。覺得前一段時間急於得到成效,中間看到的很多東西都沒消化。現在重新梳理一下。  本文主要參考了徐其華的Caffe學習

5858 Hard problem (非常詳細的解答)

cjj is fun with math problem. One day he found a Olympic Mathematics problem for primary school

HDU 6206 Apple ( 高精度 && 計算幾何 && 三點構圓求圓心半徑 )

void 一條直線 col 簡單的 ply 操作 lap image ann 題意 : 給出四個點,問你第四個點是否在前三個點構成的圓內,若在圓外輸出"Accepted",否則輸出"Rejected",題目保證前三個點不在一條直線上。 分析 : 簡單的計算幾何問題,如果

[HDU](6354)Everything Has Changed ---- 餘弦定理+計算幾何

題目連結 題意:就是讓你求圖中紅色邊的長度,不會出現切割面積覆蓋原零件面積和兩個切割面積交叉的情況。 做法:一開始直接用兩圓相交求交點的幾何模板構造了演算法,沒想到WA到哭QAQ 到最後看了杜教的B站講解才知道自己好懵逼,直接饒了原路,知道三邊是可以用餘弦定理的啊!!

hdu 6127 : Hard challenge (2017 多校第七場 1008)(計算幾何

for %d logs opera log val r+ ++ show 題目鏈接 題意:二維平面上有n個點(沒有重疊,都不在原點,任意兩點連線不過原點),每個點有一個權值,用一條過原點的直線把他們劃分成兩部分,使兩部分的權值和的乘積最大。輸出最大的乘積。 極角排序後,將原

hdu 5117 數學公式展開 + dp

return nbsp clu pri make n) for inf bsp 題目大意:有n個燈泡,m個按鈕,(1 <= n, m <= 50),每個按鈕和ki 個燈泡相關, 按下後,轉換這些燈泡的狀態,問你所有2^m的按下按鈕的 組合中亮著的燈泡的數量的三

2017CCPC-哈爾濱站 Hdu-6242 Geometry Problem 計算幾何 隨機

一個點 div bits print nbsp ace style color 都在 題面 題意:給你n個點,讓你找到一個圓,輸出圓心,和半徑,使得有超過一半的點剛好在圓上.n<=1e5,題目保證了有解 題解:剛開始看著很不可做的樣子,但是多想想,三點確定一個圓,

HDU-3644 A Chocolate Manufacturer's Problem 計算幾何 模擬退火

HDU-3644 A Chocolate Manufacturer’s Problem 題意: 給定一個多邊形, 判斷這個多邊形中是否可以放入一個半徑為r的圓. 分析: 發現不知從何入手時就開始模擬退火吧. 隨機找出圓心座標, 主要就是判斷某個點是否在多邊形內. 這題wa和tl

HDU - 2376】Average distance (樹上任意兩點之間的距離之和的平均值計算結點的貢獻度)

Given a tree, calculate the average distance between two vertices in the tree. For example, the average distance between two vertices in the followi