自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 凸包

#include <stdio.h> #include <algorithm> #include <iostream> #include <string.h> #include <math.h> using namespace std; const double eps = 1e-8; int sgn(double x) { i...

2018-04-02 21:29:45 162

原创 How Many Answers Are Wrong (带权并查集)

题意:给出一些区间和的值,询问最少会有多少个值是错的,如果不能确定是对是错的就算是对的。思路:用带权并查集来做,输入u,v,w代表区间u到v的区间和为w。用并查集来检查u,v是否在同一个集合,如果在同一集合,说明我们之前已经有了u,v之间的关系,而现在输入的u,v,w就用来检查之前的关系是否和现在输入的一致,如果不一致,肯定就错了。如果不在同一集合,那么就可以更新关系了。带权并查集中的权值存的是该...

2018-04-01 20:06:27 128

原创 Doing Homework (状压dp)

题意:给你n门课的名字和完成这门课所需要的时间和这门课规定完成的时间,每超过规定的时间一分钟就多扣一分,问题是按怎样的顺序的去完成这些课才能扣最少的分,输出所扣的最少的分和课表顺序。思路:状态过多,如果用搜索的话,n最大为15,会超时。因此想到用状态压缩动态规划。状态压缩就是用位数为n二进制来表示n门课的选择情况,1表示选了,0表示还没选,再用动态规划来找出课被选完时扣掉的最少的分。用path数组...

2018-03-28 22:37:41 259

原创 Jury Compromise (动态规划)

题意:从n个人中选出m个人,选法为控方满意度之和s1与辩方满意度之和s2的差的绝对值最小,若有多种方案,则选择控方满意度之和s1与辩方满意度之和s2的和最大的一组,先输出这是第几组数据,下一行分别输出选择出来的方案中的控方满意度之和s1与辩方满意度之和s2。最后一行输出选择的人的编号,按从小到大的顺序排列。思路:用一个二维dp[i][k],第一维i代表已经选择了的人数,即1——m,第二维k代表枚举...

2018-03-28 21:43:32 671 3

原创 Phalanx 动态规划

题意:找出以从左下角到右上角的对角线为对称线的最大的矩阵。思路:dp[i][j]表示以i,j为左下角顶点的最大对称矩形,则如果从i,j出发的向上和向右的线上相对称的点多于dp[i-1][j+1],则dp[i][j]=dp[i-1][j+1]+1.#include <stdio.h> #include <string.h> #include <math.h> #i...

2018-03-28 11:28:14 281

原创 区间dp,Treats for the Cows

题意:输入n个数,每次从这n个数的两端选一个数,sum就加上这个数的值乘上这个数取出来的时间。问最后sum最大是多少。思路:没次从两边取一个数,可以考虑区间dp,用一个dp数组,dp[i][j]代表当仅剩下区间i到j的数没取的时候sum可以取到的最大值。#include <stdio.h> #include <string.h> #include <math.h&gt...

2018-03-23 17:48:41 125

原创 区间dp,从数组两端分别选数

两个人分别从一个数组两边选数,都考虑让自己的最优情况,如果A先选,A能选到的最大和是多少#include <bits/stdc++.h> using namespace std; #define RE(x) freopen(x,"r",stdin) #define WR(x) freopen(x,"w",stdout) #define INF 0x3f3f3f3f #define C...

2018-03-23 17:20:04 729

原创 快速冥

typedef long long ll; ll mod_pow(ll x,ll n,ll mod) { ll res=1; while (n>0) { if(n&1) res=res*x%mod;//n&表示n/2 x=x*x%mod; n>>=1;//位运算,表示n/2 } retu

2017-09-04 16:03:00 619

原创 HDU 2032 杨辉三角

还记得中学时候学过的杨辉三角吗?具体的定义这里不再描述,你可以参考以下的图形: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 Input 输入数据包含多个测试实例,每个测试实例的输入只包含一个正整数n(1 Output 对应于每一个输入,请输出相应层数的杨辉三角,每一层的整数之间用一个空格隔开,每一个杨辉三角后面加一

2017-09-03 15:02:29 135

原创 HDU 2031 进制转换

输入一个十进制数N,将它转换成R进制数输出。 Input 输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(210)。 Output 为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。 Sample Input 7 2 23 12 -4 3 Sample

2017-09-03 14:01:30 139

原创 HDU 2030 汉字统计

Problem Description 统计给定文本文件中汉字的个数。 Input 输入文件首先包含一个整数n,表示测试实例的个数,然后是n段文本。 Output 对于每一段文本,输出其中的汉字的个数,每个测试实例的输出占一行。 [Hint:]从汉字机内码的特点考虑~ Sample Input 2 WaHaHa! WaHaHa! 今年过节不说话

2017-09-03 13:12:27 138

空空如也

空空如也

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

TA关注的人

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