P2735 电网 Electric Fences

题目描述

在本题中,格点是指横纵坐标皆为整数的点。

为了圈养他的牛,农夫约翰(Farmer John)建造了一个三角形的电网。他从原点(0,0)牵出一根通电的电线,连接格点(n,m)(0<=n<32000,0<m<32000),再连接格点(p,0)(p>0),最后回到原点。

牛可以在不碰到电网的情况下被放到电网内部的每一个格点上(十分瘦的牛)。如果一个格点碰到了电网,牛绝对不可以被放到该格点之上(或许Farmer John会有一些收获)。那么有多少头牛可以被放到农夫约翰的电网中去呢?

输入格式

输入文件只有一行,包含三个用空格隔开的整数:n,m和p。

输出格式

输出文件只有一行,包含一个整数,代表能被指定的电网包含的牛的数目。

输入输出样例

输入 #1复制

7 5 10

输出 #1复制

20

说明/提示

题目翻译来自NOCOW。

USACO Training Section 3.4

#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath>
#include<queue>
using namespace std;
long long n,m,p;
long long read(){
	long long a=0,b=1;
	char ch=getchar();
	while((ch<48||ch>57)&&ch!=‘-‘){
		ch=getchar();
	}
	if(ch==‘-‘){
		b=-1;
		ch=getchar();
	}
	while(ch<48||ch>57){
		ch=getchar();
	}
	while(ch>47&&ch<58){
		a=a*10+ch-48;
		ch=getchar();
	}
	return a*b;
}

long long gcd(long long x,long long y){
    return x%y==0?y:gcd(y,x%y);
}
int main(){
	n=read(),m=read(),p=read();
    long long s=p*m/2;
    long long cnt=(gcd(n,m)+gcd(abs(n-p),m)+p)/2;
    long long ans=s-cnt+1;
    printf("%lld\n",ans);
    return 0;
}

  

广告:

皮克定理了解一下。

发现者

姓名:乔治·亚历山大·皮克(1859~1943)

全名:George Alexander Pick

国籍:奥地利

概括

皮克定理是指一个计算点阵中顶点在格点上的多边形面积公式,该公式可以表示为2S=2a+b-2,其中a表示多边形内部的点数,b表示多边形边界上的点数,S表示多边形的面积。

定理定义

a=39,b=14,s=45

一张方格纸上,上面画着纵横两组平行线,相邻平行线之间的距离都相等,这样两组平行线的交点,就是所谓格点。如果取一个格点做原点O,如图1,取通过这个格点的横向纵向两直线分别做横坐标轴OX和纵坐标轴OY,并取原来方格边长单位长,建立一个坐标系。这时前面所说的格点,显然就是纵横两坐标都是整数的那些点。如图1中的O、P、Q、M、N都是格点。由于这个缘故,我们又叫格点为整点

一个多边形的顶点如果全是格点,这多边形就叫做格点多边形。有趣的是,这种格点多边形的面积计算起来很方便,只要数一下图形边线上的点的数目及图内的点的数目,就可用公式算出。

这个公式是皮克(Pick)在1899年给出的,被称为"皮克定理",这是一个实用而有趣的定理。

给定顶点坐标均是整点(或正方形格点)的简单多边形,皮克定理说明了其面积S和内部格点数目n、边上格点数目s的关系:

(其中n表示多边形内部的点数,s表示多边形边界上的点数,S表示多边形的面积)

验证推导

因为所有简单多边形都可切割为一个三角形和另一个简单多边形。考虑一个简单多边形P,及跟P有一条共同边的三角形T。若P符合皮克公式,则只要证明P加上TPT亦符合皮克公式(I),以及三角形符合皮克公式(II),就可根据数学归纳法,对于所有简单多边形皮克公式都是成立的。

多边形

设P和T的共同边上有c个格点。

P的面积: iP + bP/2 - 1

T的面积: iT + bT/2 - 1

PT的面积:

(iT + iP + c - 2) + (bTc + 2 + bP - c) /2 - 1 = iPT + bPT/2 - 1

三角形

证明分三部分:证明以下的图形符合皮克定理:

所有平行于轴线的矩形;

以上述矩形的两条邻边和对角线组成的直角三角形;

所有三角形(因为它们都可内接于矩形内,将矩形分割成原三角形和至多3个第二点提到的直角三角形)。

矩形

设矩形R长边短边各有m,n个格点:

AR = (m-1)(n-1)

iR = (m-2)(n-2)

bR = 2(m+n)-4

iR + bR/2 - 1 = (m-2)(n-2) + (m+n) - 2 - 1 = mn - (m + n) +1 = (m-1)(n-1)

直角三角形

易见两条邻边和对角线组成的两个直角三角形全等,且i,b相等。设其斜边上有c个格点。

b = m+n+c-3

i = ((m-2)(n-2) - c + 2)/2

i + b/2 - 1 = ((m-2)(n-2) - c + 2)/2 + (m+n+c-3)/2 - 1 = (m-2)(n-2)/2 + (m+n - 3)/2 = (m-1)(n-1)/2

一般三角形

逆运用前面对2个多边形的证明: 既然矩形符合皮克定理,直角三角形符合皮克定理。又前面证明到若P,T符合皮克公式,则 P加上T的PT亦符合皮克公式。 那么由于矩形可以分解成1个任意三角形和至多三个直角三角形。 于是显然有,只有当这个任意三角形也符合皮克定理的时候,才会使得在直角三角形符合的同时,矩形也符合。

以上内容来自360百科

如有错误,概不负责。

原文地址:https://www.cnblogs.com/xiongchongwen/p/11605611.html

时间: 2024-10-09 16:12:13

P2735 电网 Electric Fences的相关文章

洛谷 P2735 电网 Electric Fences Label:计算几何--皮克定理

题目描述 在本题中,格点是指横纵坐标皆为整数的点. 为了圈养他的牛,农夫约翰(Farmer John)建造了一个三角形的电网.他从原点(0,0)牵出一根通电的电线,连接格点(n,m)(0<=n<32000,0<m<32000),再连接格点(p,0)(p>0),最后回到原点. 牛可以在不碰到电网的情况下被放到电网内部的每一个格点上(十分瘦的牛).如果一个格点碰到了电网,牛绝对不可以被放到该格点之上(或许Farmer John会有一些收获).那么有多少头牛可以被放到农夫约翰的电网

USACO 6.4 Electric Fences

Electric FencesKolstad & Schrijvers Farmer John has decided to construct electric fences. He has fenced his fields into a number of bizarre shapes and now must find the optimal place to locate the electrical supply to each of the fences. A single wir

【Electric Fences】电力篱笆

[Problem description] 农夫约翰已经决定建造电网.他已经把他的农田围成一些奇怪的形状,现在必须找出安放电源的最佳位置. 对于段电网都必须从电源拉出一条电线.电线可以穿过其他电网或者跨过其他电线.电线能够以任意角度铺设,从电源连接到一段电网的任意一点上(也就是,这段电网的端点上或者在其之间的任意一点上).这里所说的"一段电网"指的是呈一条线段状的电网,并不是连在一起的几段电网.若几段电网连在一起,那么也要分别给这些电网提供电力. 已知所有的 F(1 <= F &

USACO6.4-Electric Fences:计算几何

Electric Fences Kolstad & Schrijvers Farmer John has decided to construct electric fences. He has fenced his fields into a number of bizarre shapes and now must find the optimal place to locate the electrical supply to each of the fences. A single wi

POJ 2018 Best Cow Fences

斜率优化DP...<浅谈数形结合思想在信息学竞赛中的应用 安徽省芜湖一中 周源>例题... Best Cow Fences Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 9311   Accepted: 2986 Description Farmer John's farm consists of a long row of N (1 <= N <= 100,000)fields. Each field c

国家电网电费查询

最近在老家出差,老家电网改革,使用了智能电表,把老式电表全部换了还给了一个客户号, 终于也可以在支付宝什么的交电费了,但我们那里支付宝还不能查询剩余多少钱,这让人很恼火, 于是就来国家电网http://www.95598.cn/person/index.shtml 查询了一下,发现需要客户号.查询密码.验证码,客户号我知道,查询密码是不知道的,随便输入,提示错误, 于是打95598问了下客服,得知了默认密码是6个8,查询了一下,出来消息了,但想每次都上电脑上查,貌似有点不方便,就想自己做一个模拟

国外物联网平台初探(六):Electric Imp

国外物联网平台初探(六)--Electric Imp 马智 公司背景 Electric Imp成立于2011年,公司设立在美国加利福尼亚州洛斯阿尔托斯和英国剑桥 公司投资者包括:富士康技术集团.PTI创投.Rampart资本.Redpoint创投 ? 定位 ? Electric Imp提供的硬件.软件.操作系统.安全.API.管理工具和云端服务完全集成的创新型解决方案,能够减少产品上市时间和成本,并具备安全.可扩展和灵活的特性.Electric Imp助力实现创新性的商用和工业应用,使生产商能够

第二篇:智能电网(Smart Grid)中的数据工程与大数据案例分析

前言 上篇文章中讲到,在智能电网的控制与管理侧中,数据的分析和挖掘.可视化等工作属于核心环节.除此之外,二次侧中需要对数据进行采集,数据共享平台的搭建显然也涉及到数据的管理.那么在智能电网领域中,数据工程到底是如何实施的呢? 本文将以IBM的Itelligent Utility Network产品为例阐述智能电网中的数据工程,它是IBM声称传统电网向智能电网转变的整体方案(看过上篇文章的童鞋想必会清楚这样的说法是片面狭隘的,它只能算是智能电网中的数据工程). 另一方面,如今是一个数据爆炸的时代,

罗森伯格参加2015第四届中国国际智能电网技术和设备展览会

2015年4月1日至3日,2015第四届中国国际智能电网技术和设备展览会,英文简称:GridTec China 2015,在北京·中国国际展览中心举办.会期隆重举办China Power 2015中国清洁电力峰会智能电网高峰论坛.该展览会旨在为中国智能电网与国内外清洁能源行业企业提供产业前沿资讯及创造交流机会,打造自由开放的贸易平台,进而促进中国智能电网.清洁能源技术与设备的进一步发展. 大会由中国电力企业联合会主办,大会围绕"智能电网政策,智能电网建设规划,智能电网清洁能源并网关键技术及发展前