自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ACMer 梁剑锋 的博客

一点点的进步

  • 博客(24)
  • 收藏
  • 关注

翻译 【裸K-D树】BZOJ 2648

Problem Description 棋盘上原本有,n个黑棋。 有两种操作: 1 x y 插入一个黑色棋子 2 x y 输出距离这个白色棋子最近的黑色棋子距离(这里的距离是曼哈顿距离)思路: 参考ldq大佬博客 K-D树,其实就是一个k维的搜索树。这道题k = 2而已。#include<bits/stdc++.h>using namespace std;co

2017-11-30 22:28:25 283

翻译 【恶心的模拟 && 找时刻问题】CodeForces - 883A Automatic Door

Problem Description 给你n+m个人,n个人是雇员,m个人是客户,给了你他们每个人进来的时刻。n个人进来的时间分别为 c, 2*c, 3*c … n*c。m个人进来的时间直接给出。 他们进来的时候如果门是关的,门就会打开,然后他们通过。 如果他们进来的时候门是开的,他们就会通过。 门打开后持续时间d秒,才关门。 问你所有人通过,至少得打开门多少次。思路

2017-11-27 20:20:45 416

翻译 【提醒自己】CodeForces - 847H Load Testing

Problem Description 给你一个长度为n的数组,让你把它变成递增,或者递减,或者先增后减。问你最少需要加多少数思路: 一开始写烂了,还以为自己的代码很对。后面发现没考虑好。 做法: 求出递增需要的最少,递减需要的最少。 然后再跑一边for求,先增后减的最少#include<bits/stdc++.h>using namespace std;#defi

2017-11-27 19:48:35 209

翻译 【数学期望】Gym 101137L Lazy Coordinator

Problem Description 给你n个事件,接下来2*n行,给你任何事件可能的开始时间,和任何事件可能的结束时间。 让你输出每个事件存在时间的数学期望思路: 这道题有两个核心点。 一:算期望的时候,事件时间差 两两相减的话,O(n*n)会超时。我们需要对公式进行处理。我们拿例子来说明把。 例如样例 3 + 4 + 10 - 11 +

2017-11-27 19:35:52 924

翻译 【树形dp】CodeForces - 767C Garland

Problem Description 输入n代表有n个灯泡。接下来n行,第i行 给你i的父亲灯节点,和i这个灯的温度。 问你能不能用剪刀,剪两刀,将其分成三个部分,使得每个部分的温度和相等。 如果可以输出剪的边的儿子点。 否则输出-1。思路: 自己强行用dfs模拟出来了,看了学长的代码突然发现自己弄麻烦了,因为它就是一棵树。 找出根节点,然后dfs遍...

2017-11-24 21:43:48 270

翻译 【二分答案 && 贪心】codeforces-847E Packmen

Problem Description 输入n, 接着给你一个长度为n的字符串。 *代表包装, P代表人, .代表为空, 人移动一单位距离需要花费一秒,人可以向左或者向右移动。人只要走到包装的位置,就会把包装吃掉,问你最少需要多少秒。所有的包装就被人全吃完。思路: 二分答案 + 贪心。 对于每个二分的答案mid。从左往右暴力,如果第一个遇到的是P, 那么P下标+mid都可以到

2017-11-24 21:31:44 574 1

翻译 【二分答案】SDUT-4072 小绿的脱单梦

Problem Description 小绿一直坚持不懈的追求他的一个高中女同学。最近妹子终于被他打动,决定在接下来n天对他进行m项考验(同一项考验可能会在不同的两天重复进行,通过一次即可),如果他能全部通过,妹子就会答应和他交往。 小绿在得到消息后,兴奋不已,虽然他是一个不折不扣的weisuo死宅,虽然他除了代码什么都不会,但是他对自己的IQ十分自信!他能准确的估计自己通过某一项考验需

2017-11-24 20:19:14 260

翻译 【链表】

//函数 建立 有头结点的 n个结点的链表 顺序;struct node * creat(int n){ struct node *tail, *p, *head1; head1 = (struct node *)malloc(sizeof(struct node)); head1 -> next = NULL; tail = head1; while(n

2017-11-24 20:07:19 245

翻译 【C++ 函数模板】SDUT-1141 面向对象程序设计上机练习二(函数模板)

Problem Description 利用数组和函数模板求5个数最大值(分别考虑整数、单精度、长整数的情况)。Input 分别输入5个int型整数、5个float 型实数、5个long型正整数。Output 分别输出5个int型整数的最大值、5个float 型实数的最大值、5个long型正整数的最大值。Example Input 11 22 666 44 55 11.1

2017-11-15 09:49:55 238

翻译 【Java 进制转换】POJ - 2305 Basic remains

Problem Description 输入一个整数b,代表b进制。输入两个b进制数p, m。 让你输出p%m后的b进制数思路: 用Java非常简单import java.io.*;import java.util.*;import java.math.*;public class Main{ public static void main(String[] arg

2017-11-14 17:22:48 271

翻译 ACM java常用语法总结

import java.io.*;import java.util.*;import java.text.*;import java.math.*;public class Main{ public static void main(String[] args) { Scanner cin = new Scanner(System.in); ...

2017-11-14 11:50:10 662

翻译 【Java 八进制转换十进制】POJ - 1131 Octal Fractions

Problem Description 输入一个0-1的八进制小数。让你输出转换成十进制的值思路: Java学习中 八进制 123.456 十进制 1*8^2 + 2*8^1 + 3*8^0 + 4*8^(-1) + 5*8^(-2) + 6*8^(-3)import java.io.*;import java.util.*;import java.math.*;pub

2017-11-14 10:57:18 406

翻译 【Java 函数调用】SDUT-1131 C/C++训练1---最大公约数与最小公倍数

Problem Description 输入两个整数,让你输出它的最大公约数和最小公倍数思路: 学习Java过程中,目的是试试看如何调用函数import java.io.*;import java.util.*;public class Main{ public static void main(String[] args) { Scanner ci

2017-11-14 09:00:45 424

翻译 【Java 大数相乘】SDUT-3515 bLue的乘法算术题

Problem Description 给你n个数,让你求这n个数的积,数的积最终结果会特别大。思路: 学习Java过程中import java.io.*;import java.util.*;import java.math.*;public class Main{ public static void main(String[] args) {

2017-11-14 08:55:34 514

翻译 【最小环 && 离散化】HDU 6005 Pandaland

Problem Description 给你m条边,每条边给你两个城市的坐标,还有两个城市道路之间有成本 让你求一个最小成本的周期,至少包含三个城市。思路: 因为只给了城市的坐标,我们得给每个城市对应一个编号,所以离散化。 因为题目给出边的个数,最大只有4000条。点的个数最大可以到达8000。 Floyd求最小环,肯定超时。枚举所有的边,求边的端点之间的最小成本。最小成

2017-11-12 21:28:57 429

翻译 【一般图最大匹配】URAL - 1099 Work Scheduling

Problem Description 给你一个无向的一般图,让你求最大匹配思路: 没有奇环的图,为二分图。一般图就代表可能有奇环 求一般图最大匹配得用带花树算法 然而我没理解,先当模板用,后期就慢慢啃#include <bits/stdc++.h>using namespace std;const int N = 310;struct edge{ int to,

2017-11-12 20:48:01 246

翻译 【KM算法 模板】HDU - 2255 奔小康赚大钱

Problem Description n代表房子的数量,n行,每行n个数代表i个村名对第j间房出的价格 要求每个村民有房子住,能获得最大的价格是多少思路: 裸的KM算法,求给定一个带权的二分图,求权值最大的完备匹配。#include<bits/stdc++.h>using namespace std;#define maxn 305#define inf 0x3f3f3f3

2017-11-12 20:42:53 202

翻译 【二分图多重匹配 && 最短路 && (快)最大流】POJ - 2112 Optimal Milking

Problem Description 有C头奶牛,K个挤奶站,每个挤奶器最多服务M头奶牛,奶牛和奶牛、奶牛和挤奶站、挤奶站和挤奶站之间都存在一定的距离。现在问满足所有的奶牛都能够被挤奶器服务到的情况下,行走距离的最远的奶牛的至少要走多远。思路: 求满足情况行走距离最远的那牛,所走的最短距离的问题 网络流 + 二分。题目给了奶牛和奶牛,奶牛和挤奶站,挤奶站和挤奶站之间的距离,我们得求

2017-11-12 20:01:44 212

翻译 【二分图多重匹配 && Dinic】POJ - 2289 Jamie's Contact Groups

Problem Description 给你m个组别,每个组别可以只能放特定的人。并最大限度地减少最大组的人数思路: 0-(m-1)代表人,m代表超级源点,n-(n+m)代表组别,n+m+1代表超级汇点。二分 人到超级汇点的流量,最大流求最大匹配,如果最大匹配 = n就减少流量。#include<cstdio>#include<cstring>#include<vector>#in

2017-11-12 19:44:35 358

翻译 【最大独立集】HDU - 3829 Cat VS Dog HDU - 3829

Problem Description 有p个小朋友参观动物园,动物园里面有两种动物,分别为猫和狗。规定一个小朋友喜欢猫就讨厌狗,喜欢狗就讨厌猫。 现在管理员要移走一些动物,当然,移走也是有条件的。比如一个小朋友喜欢猫3,讨厌狗4.那么移走狗4,这个小朋友就会非常开心。同样,如果移走猫3,小朋友就会很不高兴。现在问怎么样才能使开心的小朋友的人数最多。思路 要使得开心的小朋友人数最多,

2017-11-12 19:27:30 198

翻译 有向无环图(DAG)的最小路径覆盖

参考博客 最小路径覆盖:在一个有向图中,找出最少的路径,使得这些路径经过了所有的点。 最小路径覆盖分为最小不相交路径覆盖和最小可相交路径覆盖。 最小不相交路径覆盖:每一条路径经过的顶点各不相同。 最小可相交路径覆盖:每一条路径经过的顶点可以相同。 特别的,每个点自己也可以称为是路径覆盖,只不过路径的长度是0。【DAG的最小不相交路径覆盖】HDU 1151 Air Raid

2017-11-03 12:03:48 1171

翻译 【最小顶点覆盖数 && 无向图】HDU - 1054 Strategic Game

Problem Description 现在,他有以下的问题。他必须捍卫一个中世纪的城市,形成了树的道路。他把战士的最低数量的节点上,使他们可以观察所有的边。思路: 正常图中:最大独立集数 + 最小顶点覆盖数 = 顶点数 二分图中:最大匹配数 = 最小顶点覆盖数 = 最大独立集 因为题目所给的图是树,树一定是一个二分图。所以直接求最大匹配数即可#include<bits/st

2017-11-03 09:19:17 589

翻译 【最小边覆盖 && 无向图】POJ - 3020 Antenna Placement

Problem Description 感兴趣的点用*表示 一个n*m的矩阵, 一个雷达可覆盖相邻的两个位置,一个感兴趣的点可被多个雷达覆盖, 至少需要多少个雷达,才能把所有的感兴趣的点覆盖掉。思路 对于不存在孤立点的图,最大匹配数 + 最小边覆盖数 = 顶点数 紧接着就是建图: 相邻的感兴趣的点可以到达,我们就给它们之间连接一条边。所以我们对于每个感兴趣的点都给它们一个

2017-11-03 09:12:08 205

翻译 【Hopcroft-Karp && 二分图的最大匹配数 && 有向图】HDU - 2389 Rain on your Parade

Problem Description 给你时间Time。给你n个人,每个人给你所在位置和移动速度。给你m个雨伞的坐标。问你在Time时间内,最多有多少个人能得到雨伞。思路: 暴力n*m求人与雨伞之间的距离,判断人在时间Time内能否到达雨伞处,如果能够到达建一条边。 然后就是最二分图的最大匹配,左边是人,右边是雨伞。 匈牙利算法超时。 得换一个快一点的算法Hopcrof

2017-11-01 17:19:55 437

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除