A

/*#include<cstring>#include<algorithm>#include<queue>#include<vector>#include<cstdio>#include<cmath>#include<iostream>*/
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = ;
int main()
{
int k, n, s, p;
cin >> k >> n >> s >> p;
int ans = n / s + ( - (n % s == ));
ans *= k;
cout << ans / p + ( - (ans % p == )) << endl;
return ;
}

B

/*#include<cstring>#include<algorithm>#include<queue>#include<vector>#include<cstdio>#include<cmath>#include<iostream>*/
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = ;
char f[][];
int ans;
int aimc = ;
int aimr = ;
int flag;
int now;
int main()
{
int n, k;
cin >> n >> k;
for (int i = ; i <= n; i++)
{
scanf("%s", f[i] + );
}
for (int i = ; i <= n; i++)
{
for (int j = ; j <= n; j++)
{
if (f[i][j] == '#')
{
continue;
}
now = ;
for (int dx = j - k + ; dx <= j; dx++)
{
if (dx + k > n + )
{
break;
}
if (dx < )
{
continue;
}
flag = ;
for (int w = dx; w <= dx + k - ; w++)
{
if (f[i][w] == '#')
{
flag = ;
break;
}
}
if (flag)
{
now++;
}
}
for (int dy = i - k + ; dy <= i; dy++)
{
if (dy + k > n + )
{
break;
}
if (dy < )
{
continue;
}
flag = ;
for (int w = dy; w <= dy + k - ; w++)
{
if (f[w][j] == '#')
{
flag = ;
break;
}
}
if (flag)
{
now++;
}
}
if (now > ans)
{
ans = now;
aimc = i, aimr = j;
}
}
}
cout << aimc << " " << aimr << endl;
return ;
}

C

首先用贪心的思想可以知道 如果是一整轮一整轮地分 肯定是X越大越好

当加上题目剩下的不小于X的也要分的时候 最佳肯定是当X尽量大且最后多分给A1一次的时候最佳

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
ll n,k,m,d;
cin >> n >> k >> m >> d;
ll anser=;
for(ll i=;i<=d;i++)
{
if(i!=)
{
ll now=n/(i-);
if(now<k)
continue;
}
ll sum=n/(k*i-k+);
if(sum>m)
{
if(m*i>=(n-n%m)/k)
sum=m;
else
continue;
}
anser=max(anser,sum*i);
}
cout<<anser<<endl;
return ;
}

D

这题的建模是一个网络流  第i个石头对每个[i+1,i+l]都有一条容量为a[i]的边 源点与左岸相连 汇点与右岸相连 算最大流

但其实可以用最大流最小割思想简化 因为你跳的次序并不会影响最后的答案 所以我们可以认定每次全部青蛙都在一个长度为L的窗口内

所以答案就是min(sum(ai~ai+l)) 即视连续L个石头为一个节点 前一个节点有指向后一个节点sum(ai~ai+l)的边 所以最大流是最小的那条边

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int a[];
int main()
{
int n, l;
cin >> n >> l;
n--;
int minn = INT_MAX;
int sum = ;
for (int i = ; i < n; i++)
{
cin >> a[i];
}
for (int i = ; i < l; i++)
{
sum += a[i];
}
minn = sum;
for (int i = l; i <= n - ; i++)
{
sum -= a[i - l];
sum += a[i];
minn = min(minn, sum);
}
cout << minn << endl;
return ;
}

E

Codeforces 965 枚举轮数贪心分糖果 青蛙跳石头最大流=最小割思想 trie启发式合并的更多相关文章

  1. JAVA-小青蛙跳石头游戏

    游戏摘自微信传的手机网页版小游戏,我拿来做成了JAVA的界面版,但是没有去做素材,,直接拿方块代替小青蛙.游戏原址就不分享了,只能在手机上打开. 下面是源码: /* * Main.java * */ ...

  2. Atcoder Regular Contest 125 E - Snack(最小割转化+贪心)

    Preface: 这是生平第一道现场 AC 的 arc E,也生平第一次经历了 performance \(\ge 2800\)​,甚至还生平第一次被 hb 拉到会议里讲题,讲的就是这个题,然鹅比较尬 ...

  3. [LeetCode] Candy (分糖果),时间复杂度O(n),空间复杂度为O(1),且只需遍历一次的实现

    [LeetCode] Candy (分糖果),时间复杂度O(n),空间复杂度为O(1),且只需遍历一次的实现 原题: There are N children standing in a line. ...

  4. Codeforces 965 D. Single-use Stones(思维)

    Codeforces 965 D. Single-use Stones 题目大意: 有一条河宽度为w,河上有一些石头,给出一组数(编号1~w-1),其中a[i]代表与河一岸距离为i的石头数量.每只青蛙 ...

  5. CSDN 分糖果算法的思路和求助

    昨天晚上 在csdn上做了一道分糖果的题目,我自个测的是没有问题,但是提交答案后,老失败,提示 你的程序正常运行并输出了结果,但是答案错误你的程序输出结果与测试数据中的输出结果不符 我先把自个思路说一 ...

  6. codeforces 704B - Ant Man 贪心

    codeforces 704B - Ant Man 贪心 题意:n个点,每个点有5个值,每次从一个点跳到另一个点,向左跳:abs(b.x-a.x)+a.ll+b.rr 向右跳:abs(b.x-a.x) ...

  7. hunnu11543:小明的烦恼——分糖果

    Problem description   小明在班里一直是个非常公正的孩子.这点同学和老师都非常清楚,这不,老师每周都会从家里带来一些糖果.然后叫小明把糖果分给其它小朋友,但这个班里的同学都有一个非 ...

  8. C语言 · 分糖果

    历届试题 分糖果   时间限制:1.0s   内存限制:256.0MB      问题描述 有n个小朋友围坐成一圈.老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏: 每个小朋友都把自己的糖果分一 ...

  9. CodeForces - 50A Domino piling (贪心+递归)

    CodeForces - 50A Domino piling (贪心+递归) 题意分析 奇数*偶数=偶数,如果两个都为奇数,最小的奇数-1递归求解,知道两个数都为1,返回0. 代码 #include ...

随机推荐

  1. docker-compose部署zk和kafka

    version: '3.4' services: zk1: image: zookeeper restart: always hostname: zk1 container_name: zk1 por ...

  2. 【转】微信接口$GLOBALS['HTTP_RAW_POST_DATA']接收不到值

    $xml = $GLOBALS['HTTP_RAW_POST_DATA']; 打印$xml出来,结果是null 使用的是php7,原因是php7已移除这个全局变量,改成 $xml = file_get ...

  3. 【转】HTML怎样使用a标签以post方式提交

    在HTML中,a标签的提交默认是get方式提交的,如果在请求链接的参数中带有中文就会出现乱码问题,除了在后台程序中转码外,这里介绍两种简单的方法,可以在客户端让a标签以post方式提交. 一:增加一个 ...

  4. CSS 有序或者无序列表的前面的标记 list-style-type 属性

    例子: <html> <head> <style type="text/css"> ul.none{list-style-type:none} ...

  5. 【DVWA】Command Injection(命令注入)通关教程

    日期:2019-08-01 16:05:34 更新: 作者:Bay0net 介绍:利用命令注入,来复习了一下绕过过滤的方法,还可以写一个字典来 fuzz 命令注入的点. 0x01. 漏洞介绍 仅仅需要 ...

  6. PP相关号码范围IMG设定

    一.定义订单号码范围——CO82 IMG> 生產> 現埸控制 > 主檔資料 > 訂單 > 定義訂單號碼範圍 可看到目前工單所訂義的區間(注意, 工單的號碼區間和CO的內部 ...

  7. ibatis使用iterate实现批量插入insert正确写法

    由于想批量入库提升效率,最近实现了ibatis的批量插入,结果一直报错 :StringIndexOutOfBoundsException ,原来是value中的格式不正确. 本人邮箱:techqu@1 ...

  8. APP自动化测试,判断页面与预期是否相同

    自动化测试中,有时需要验证页面跳转是否正常 1.选择appium实现,因为要填写appPcakage和appActivity,只能验证一个单独的APP,在自身APP上各个页面是否跳转正常 例如:焦点从 ...

  9. (转)在Kubernetes集群中使用JMeter对Company示例进行压力测试

    背景 压力测试是评估应用性能的一种有效手段.此外,越来越多的应用被拆分为多个微服务而每个微服务的性能不一,有的微服务是计算密集型,有的是IO密集型. 因此,压力测试在基于微服务架构的网络应用中扮演着越 ...

  10. Qt - 基于UDP的网络编程

    UDP(用户数据报协议 User Data Protocol) 轻量级.不可靠.面向数据报.无连接  的传输层协议. 适用情况: 网络数据大多为短消息: 拥有大量客户端: 对数据安全无特殊要求: 网络 ...