题目链接:[ HDU - 2899 ]
题目大意:
函数 F(x) = 6x7 + 8x6 + 7x3 + 5x2 - yx, 其中x的范围是0 ≤ x ≤ 100.
输入y值,输出F(x)的最小值
模拟退火算法
模拟退火就是类似于物体降温的概率,来...
阅读全文...
二维前缀和+差分 HDU6514 Monitor
题目链接:[ HDU - 6514 ]
题目大意:给你个n×m的区域,每个区域被选中标记为1,没被选中标记为0,然后给一些标记的区域,查询若干个区域问是否有0的
一道二维前缀和的题目,想通没什么难度
代码如下
#include <bits/st...
阅读全文...
阅读全文...
树形DP POJ-2342 没有上司的舞会
题目链接:[POJ - 2342]
题目
某大学有N个职员,编号为1~N。他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数Ri,但是呢,如果某个职...
阅读全文...
阅读全文...
状压DP Hiho-1044 状态压缩
题目链接:[HihoCoder - 1044]
题目
小Hi和小Ho在兑换到了喜欢的奖品之后,便继续起了他们的美国之行,思来想去,他们决定乘坐火车前往下一座城市——那座城市即将举行美食节!
但是不幸的是,小Hi和小Ho并没有能够买到很好的火车票——他...
阅读全文...
阅读全文...
数位DP 回文序列 POJ-3280 Cheapest Palindrome
题目链接:[ POJ - 3280 ]
题目大意
给定字符串s,长度为m,由n个小写字母组成。在s的任意位置增删字母,把它变成回文串,增删特定字母的花费不同,求最小花费
思路
定义状态 dp[i][j] 表示字符串s的子区间 s[i, j] 变成回文...
阅读全文...
阅读全文...
数位DP 石子合并 模板题
题目
有n堆石子排成一排,每堆石子有一定的数量,将n堆石子合并成一堆。合并的规则是每次只能合并相邻的两堆石子,合并的花费为这两堆石子的总数,求最小花费。
题解代码
#include<bits/stdc++.h>
using namespace...
阅读全文...
阅读全文...
线段树+扫描线 HDU-3642 Get The Treasury
题目链接:[ HDU - 3642 ]
题目大意:给你n个立方体的左下角坐标和右上角坐标,求立方体相交至少相交的面积。
题解
将Z轴离散化,把面积当作二维的底和高
代码如下
#include<bits/stdc++.h>
using na...
阅读全文...
阅读全文...
线段树+扫描线 HDU-1542 Picture
题目链接:[ HDU - 1828 ]
题目大意:给你n个矩形的左下角坐标和右上角坐标,求外周长。
题解
扫描线 + 离散化板子
将横竖两次扫描简化
代码如下
#include<bits/stdc++.h>
using namespace...
阅读全文...
阅读全文...
线段树+扫描线 HDU-1542 Atlantis
题目链接:[ HDU - 1542 ]
题目大意:给你n个矩形的左下角坐标和右上角坐标,求矩形相交的面积。
题解
扫描线 + 离散化板子
代码如下
#include<cstdio>
#include<cstring>
#inclu...
阅读全文...
阅读全文...
线段树+扫描线 HDU-1542 覆盖的面积
题目链接:[ HDU - 1255 ]
题目大意:给你n个矩形的左下角坐标和右上角坐标,求矩形相交至少覆盖两次以上的面积。
题解
代码如下
#include<bits/stdc++.h>
using namespace std;
const...
阅读全文...
阅读全文...