codeforces 912 D. Fishes

c++tt 1033 - 判断奇偶数 题目描述 输入一个整数,判断是否为偶数。是输出"y e s",否则输出"n o"。 输入 输入只有一行,包括1个整数。 输出 输出只有一行。(注意输出格式,具体请看下方提示) 样例 输入复制 2 输出复制 y e s #include<iostream> using namespace std; int main() { int n; cin>>n; if(n%2==0) { cout<<"yes 阅读详情

题目链接

题意:有一个n×m的鱼塘,有一张r×r的渔网,现在往池塘里面放k条鱼(每个格子只能放一条鱼), 现在撒网的地方是随机的(必须在池塘内),问能捕的鱼的期望值最大是多少?

思路:BFS+优先队列

感觉很多题都是这么搞得,bfs加优先队列,然后队列里面存的都是结构体,需要重载运算符。

这题也是,只要挑选出前k个贡献最大的点就行了,判断每个点是否计算过,需要用map和pair,不能用vis二维数组标记,因为会超内存,稍微复杂的地方就是根据点的坐标x,y和网的边长计算点的贡献,具体看代码。

#include<bits/stdc++.h>
#define mem(a,b) memset((a),b,sizeof(a))
typedef long long ll;
const int N=100010;
using namespace std;
ll n,m,r,k;
struct node{
    ll x,y;
    ll v;
    bool operator < (const node& b)const{
        return v<b.v;
    }
};
priority_queue<node> q;
ll x,y,ans;
map<pair<int,int>,int> mp;
ll getv(node p)
{
    return (min(n+1,p.x+r)-(max((ll)1,p.x-r+1)+r)+1)*(min(m+1,p.y+r)-(max((ll)1,p.y-r+1)+r)+1);
}
bool ok(node p)
{
    ll xx=p.x,yy=p.y;
    if(mp[make_pair(xx,yy)]==0)
        mp[make_pair(xx,yy)]++;
    else
        return false;
    if(xx<1||xx>n)
        return false;
    if(yy<1&&yy>m)
        return false;
    return true;
}
void bfs()
{
    node p;
    p.x=x;p.y=y;p.v=getv(p);
    if(ok(p))
        q.push(p);
    while(!q.empty())
    {
        int f=0;
        while(f==0)
        {
            p=q.top();
            q.pop();
            //cout<<"&& "<<p.x<<"  "<<p.y<<"  "<<p.v<<"  ";//<<k<<" ";//endl<<endl;
            ans+=p.v;
            k--;
            //cout<<k<<"  "<<ans<<endl<<endl;
            if(k==0) return ;
            node pp;
            pp.x=p.x-1;pp.y=p.y;
            if(ok(pp))
                {pp.v=getv(pp);q.push(pp);f++;}
            pp.x=p.x+1;pp.y=p.y;
            if(ok(pp))
                {pp.v=getv(pp);q.push(pp);f++;}
            pp.x=p.x;pp.y=p.y-1;
            if(ok(pp))
                {pp.v=getv(pp);q.push(pp);f++;}
            pp.x=p.x;pp.y=p.y+1;
            if(ok(pp))
                {pp.v=getv(pp);q.push(pp);f++;}
        }
    }
}
int main()
{
    scanf("%I64d%I64d%I64d%I64d",&n,&m,&r,&k);
    x=(n+1)/2;y=(m+1)/2;
    ans=0;
    bfs();
    //cout<<"%%"<<ans<<" "<<(m-r+1)*(n-r+1)<<endl;
    double anss=ans*1.0/((m-r+1)*(n-r+1));
    printf("%.9f",anss);
    return 0;
}

 

KingSCADA3.8保姆级安装教程 大家好,我是雷工!最近开始学习KingSCADA,今天这篇详细记录安装KingSCADA3.8的过程。首先下载需要的安装版本,此处以从官网下载的最新版本KingSCADA3.8为例,双击:Setup.exe; 阅读详情

相关推荐

MoveIt2项目想换掉KDL求解器?试试这个trac_ik插件(附源码编译避坑指南)

本文详细介绍了如何在MoveIt2项目中用trac_ik插件替代KDL求解器,提升机械臂运动学求解的效率和成功率。内容涵盖环境准备、源码编译避坑、项目集成及性能调优,特别适合需要高精度控制的协作机械臂应用场景。通过实测数据对比,trac_ik在求解时间和奇异点处理上显著优于传统KDL求解器。

weixin_30730053的博客 694

Codeforces 912 质因数折半 方格数学期望

A B #include <bits/stdc++.h> #define PI acos(-1.0) #define mem(a,b) memset((a),b,sizeof(a)) #define TS printf("!!!\n") #define pb push_back #define inf 1e9 //std::ios::sync_with...

baichuan9723的博客 188

别再搞混了!MATLAB通信仿真中EbN0转SNR的保姆级公式推导与避坑指南

本文深入解析MATLAB通信仿真中EbN0与SNR转换的核心公式,揭示数字仿真与理论系统的关键差异。通过真实案例展示错误参数设置导致的隐蔽问题,并提供完整的参数自查清单和正确实现代码,帮助工程师和学生避免常见错误,确保仿真结果准确可靠。

weixin_28746223的博客 348

C++

矩形覆盖(斐波那契数列)问题描述结果知识点代码 问题描述 我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 结果 运行时间:5ms 占用内存:376k 知识点 推导通项 代码 class Solution { public: int rectCover(int n) { /*鬼知道我审错题了,2*n的矩...

W_king_9的博客 428

Xilinx ZYNQ 7000学习笔记二(FSBL代码分析启动-汇编代码)

Xilinx ZYNQ 7000学习笔记

u011116085的博客 4246

基于MATLAB的井筒多相流模拟

井筒多相流的模拟可以基于不同的数学模型和计算方法。其中,最常用的模型之一是多相流模型,它基于质量守恒、动量守恒和能量守恒等原理,描述了流体在井筒中的流动行为。对于井筒多相流的模拟和分析可以帮助我们理解和优化油气田开发过程中的流体行为,从而提高产量和效率。在本文中,我们将介绍如何使用MATLAB进行井筒多相流的模拟,并提供相应的源代码。需要注意的是,以上示例是一个简化的模拟,仅用于演示如何使用MATLAB进行井筒多相流模拟。实际应用中,我们需要考虑更多的物理过程和参数,并使用更复杂的数值方法和模型进行模拟。

AtdiHtml的博客 706

C++单分支计算

题目描述 甲乙两个人在公园相遇,甲说我今年n岁了(n是一个两位的整数,个位和十位不相等),乙说,太巧了,你的年龄倒过来,就是我的年龄,请问两个人谁的年龄更大, 请输出那个更大的年龄?题目描述 请从键盘读入一个三位整数,判断这个三位整数是否是对称数(对称数指的是,这个数正过来和倒过来是同一个数,比如:121、686、808等数都是对称数),如果是对称数,则输出“Y”,否则输出“N”。比如,输入18,由于十位为1,个位为8,个位更大,因此输出8。试编写一个程序,输入身高,输出相应的门票价格。

BanyeBirth的博客 4247

15 媒体存储的封装3

CMediaDisk类真正实现了录像文件的存储、查询和点播。存储录像文件时,需要满足以下的几个基本需求:1、异常断电不能丢失数据。2、录像既支持普通文件的查询方式,也支持时间轴的查询方式。3、修改设备时间时,不能够丢失已有录像和数据。向后修改时间时,如果当前时间已有录像,则不覆盖老数据;直到有未录像的时间段时,才再次写入新数据。4、支持删除媒体文件,也支持按时间段删除。5、支持标记录像文件、抓拍文件,也支持按时间段标记。6、支持自动覆盖最老的文件。7、支持多个设备、多路视频的录像存储。

hope_wisdom的技术博客 1122

牛客小白月赛64 (b题)

首先不能暴力,即使范围是1e3,因为是二维数组,而且还要讨论k,所以要找出这道题的本质,要想让渔网把所有鱼全部包括,就是让渔网把距离他最远的那个也包括,所以只需要找最远的那条,但是由于渔网位置是随意的,所以所谓最远的那条鱼也是相对的,但是无论怎么样我们会发现,某条鱼距离上下左右四个角的距离最远,所以只要遍历一遍二维数组,找出距离四个角中某一个角最远的那个点,这个最远距离就是答案

q619718的博客 536

华南理工大学-大学物理实验-不良导体热导率测量

不良导体热导率测量 引言 导热系数(又叫热导率)是反映材料热性能的重要物理量。热传导是热交换的三种(热传导、对流和辐射)基本形式之一,是工程热物理、材料科学、固体物理及能源、环保等各个研究领域的课题。材料的导热机理在很大程度上取决于它的微观结构,热量的传递依靠原子、分子围绕平衡位置的振动以及自由电子的迁移。在金属中电子流起支配作用,在绝缘体和大部分半导体中则以晶格振动起主导作用。因此,某种材料的导热系数不仅与构成材料的物质种类密切相关,而且还与材料的微观结构、温度、压力及杂质含量相联系。在科学实验和工程设计

mohen_777的博客 871

PCL 点云八叉树射线相交

PCL 点云八叉树射线相交

dayuhaitang1的博客 850

Codeforces 912D-Fishes

Fishes time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output While Grisha was celebrating New Year with Ded Moroz,

wang_128的博客 567

嵌入式开发之瑞芯微RK356x--基本环境搭建

嵌入式环境搭建

NexyHO的博客 617

Codeforces 912D - Fishes

传送门:http://codeforces.com/contest/912/problem/D 本题是一个概率问题——求数学期望。 在一个n×m的方格中,有k个“*”。每个格子里可能有0~1个“*”。现有一个r×r的网,将网随机投入方格中,求解:网内“*”个数的数学期望的最大值。 首先考虑所求的数学期望: 枚举所有的投网方式,则对于方格的任意格子(x,y),均可以定义其被网覆盖的次数cnt...

weixin_30832143的博客 184

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Codeforces 912 D. Fishes (贪心、bfs)

题目链接:Fishes 题意:   有一个n×m的鱼塘,有一张r×r的渔网,现在往池塘里面放k条鱼(每个格子只能放一条鱼), 现在撒网的地方是随机的(必须在池塘内),问能捕的鱼的期望值最大是多少? 题解:   这题dfs我是真的没想到。。因为怎么说,总是感觉这样有些暴力吧@。@# 要好好反思了。这题首先要把每个位置网覆盖的次数的公式推出来(用if else也行其实),因为可以发现...

144

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Codeforces Round #456 (Div. 2) 912D D. Fishes

题:   OvO http://codeforces.com/contest/912/problem/D 解:   枚举每一条鱼,每放一条鱼,必然放到最优的位置,而最优位置即使钓上的概率最大的位置,即最多的r*r矩形覆盖住的点   可以把这个鱼塘分为田字型4个相同的部分(可重叠),   取其中一个部分,显然最开始的最优位置是最靠近中心的位置,   维护一个优先队列,优先度为点出现在多少...

weixin_30267691的博客 123

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Codeforces 912D (Codeforces Round #456 Div. 2) Fishes 优先队列/BFS

D. Fishes time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output While Grisha was celebrating New Year with Ded Mor

J. Cole 605

CodeForces 912d fishes(优先队列+期望)

While Grisha was celebrating New Year with Ded Moroz, Misha gifted Sasha a small rectangular pond of sizen × m, divided into cells of size1 × 1, inhabited by tiny evil fishes (no more than on...

weixin_30695195的博客 167

Codeforces 912D Fishes (概率&期望,优先队列的应用)

题目链接 Fishes 题意 在一个$n*m$的矩阵中,随机选择一个$r * r$的区域覆盖。 一开始我们可以在这个$n*m$的矩阵中选择$k$个点标记为$1$。 我们要选择一个最佳的标记策略,使得覆盖这个$r * r$的区域之后,被覆盖的$1$的个数的期望值最大。 求这个期望值。 $1 <= n, m <= 10^{5}, 1 <= k <= min(n*m,...

weixin_30657999的博客 128

CF912D Fishes

题目链接:http://codeforces.com/contest/912/problem/D 题目大意:   在一个\(n \times m\)的网格中放鱼(每个网格只能放一条鱼),用一个\(r \times r\)的网随机地捕一次鱼,问如何放置鱼能使得捕到的鱼的期望值最大,求最大值。 知识点:  优先队列、概率与期望 解题思路:   要使捕到鱼的期望值最大,就应该往最有可...

dielie6462的博客 211

Codeforces Round #456 (Div. 2) D. Fishes(BFS)

题目链接:http://codeforces.com/contest/912/problem/D 题目是挺简单的。。。可是我怎么就没想到去bfs去搜呢???我大概是个zz吧 代码: #include #define mp make_pair #define xx first #define yy second using namespace std; typedef lo

bibibibi的博客 285

CodeForces Round #456(div 2) D-Fishes

这是个数学题a… 所有的r∗rr∗rr*r的scoop的数目为(n−r+1)∗(m−r+1)(n−r+1)∗(m−r+1)(n-r+1)*(m-r+1) 其中包含坐标(x,y)(x,y)(x,y)的scoop的数目为(坐标index从1开始)f(x,y)=(min(n+1,x+r)−max(x,r))∗(min(m+1,y+r)−max(y,r))f(x,y)=(min(n+1,x+r)−ma...

Lonvon_的博客 296

Codeforces Round #456 (Div. 2) D. Fishes (期望 贪心)

D. Fishes time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output While Grisha was celebrating New Year with Ded Mor

1988的博客 665

codeforces 915 E 896 C 珂朵莉树

珂朵莉树(Chtholly Tree),一种基于std::set的暴力数据结构,是由某毒瘤在2017年的一场CF比赛中提出的数据结构,原名老司机树(Old Driver Tree,ODT)。由于第一个以珂朵莉树为正解的题目的背景以《末日时在做什么?有没有空?可以来拯救吗?》中的角色——珂朵莉为主角,所以这个数据结构又被称为珂朵莉树(Chtholly Tree)她主要处理区间修改、查询问题,在数据随...

flyzer的博客 668

网络流 最小费用最大流

网络流裸题 HDU 3549 Sample  input: 2 3 2 1 2 1 2 3 1 3 3 1 2 1 2 3 1 1 3 1 Sample output: Case 1: 1 Case 2: 2 #include&lt;iostream&gt; #include&lt;cstdio&gt; #include&lt;cstring&gt; #include&lt;alg...

flyzer的博客 647

Gym - 101652 部分题解

题目链接1题目链接2 又是一场和库里布莱恩特的菜鸡互啄,这次还是三星gym,还是两个人一起做,比上次还惨,才6个题。 这场的题感觉很简单,就是有点坑,第二题是多组输入但题里并没有说,骰子那题也是大水题,就是题意难懂,机器人那题也是题目简单,但题意难懂。分块除法,新知识点。BR那题,转化,然后求最大子段和,没想到。还有就是二分,二分真的太好用了。 Gym - 101652ZForbid...

flyzer的博客 627
上一篇: ZOJ 4062 Plants vs. Zombies 2018 ICPC 青岛站 E Plants vs. Zombies
下一篇: spfa dijkstra堆优化
flyzer
博客等级 码龄9年 27粉丝 146原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值