- 博客(15)
- 收藏
- 关注
原创 HDU 5045 DP+状压
2014 ACM/ICPC Asia Regional Shanghai Online给出N个人做M道题的正确率,每道题只能由一个人做出,并且当所有人都做出来且仅做出一道题时,做过题的人才可以继续做题,求最大期望。一共只有10个人,状压存储每个人是否已经做出题目,如果都作出则状态清0;#include "stdio.h"#include "string.h"doubl
2014-09-29 08:44:17 1390
原创 HDU 5014 贪心
2014 ACM/ICPC Asia Regional Xi'an Online枚举贪心从最大的一个数开始找能使它的异或值最大的一个数。#include "stdio.h"#include "string.h"int main(){ int n,i,j,sum; __int64 ans; int b[100010],a[100010]; w
2014-09-24 15:50:20 746
原创 HDU 5025 BFS+状压
2014 ACM/ICPC Asia Regional Guangzhou OnlineN*N矩阵 M个钥匙K起点,T终点,S点需多花费1点且只需要一次,1-9表示9把钥匙,只有当前有I号钥匙才能拿I+1号钥匙,可以不拿钥匙只从上面走过4维数组判重,第三维表示钥匙已经拿到第几把,第四维表示已经走过的S的状况,用状压存储#include "stdio.h"#in
2014-09-23 19:27:54 876
原创 HDU 5025 水爆搜
2014 ACM/ICPC Asia Regional Guangzhou Online水爆搜N*N矩阵,找最长的一条路径,使‘.’最多,路径可以且最多可以转一次90°。枚举每个点,枚举8方向连续的‘.’有多少个,再枚举路径方式。#include "stdio.h"#include "string.h"int main(){ int n,ans,i,
2014-09-23 16:19:10 762
原创 HDU 5023 线段树+状压
2014 ACM/ICPC Asia Regional Guangzhou OnlineN个节点,M个操作。P操作把l-r全部改为x (1Q操作询问l-r出现的数字,升序输出线段树成端更新+成端查找因为X最大30,用二进制压缩存储已经出现的数字。#include "stdio.h"#include "string.h"struct node{ i
2014-09-23 15:37:56 1045
原创 HDU 5038 水
用给出的公式求出每个蘑菇的grade,求出现次数最多的grade。如果有多个grade出现的次数一样多,且还有其他的grade,则把这些出现次数最多的grade按升序输出;否则,输出“Bad Mushroom”。注意当方案数只有一种的时候直接输出这个方案。程序乱搞。。。 用很难看的姿势A掉了。。。#include "stdio.h"#include "string.h"int
2014-09-22 17:32:24 1119
原创 HDU 5040 BFS+状压
2014 ACM/ICPC Asia Regional Beijing Online对于N*N的矩阵M起点,T终点有起始方向分别向北N,东E,南S,西W的摄像头,可以检测的范围为自己+所指方向1格,每1秒顺时针旋转90°前面有灯或者自己站的地方有灯,移动需要花3秒,或者原地等一秒。BFS优先队列开3维 hash数组判重,第三维是在该点等待的时间,开到4即可(摄像
2014-09-22 16:20:00 1102
原创 HDU 5001 概率DP || 记忆化搜索
2014 ACM/ICPC Asia Regional Anshan Online给N个点,M条边组成的图,每一步可以从一个点走到相邻任一点,概率相同,问D步后没走到过每个点的概率概率DP 测试数据太水了。。。。10000*50*50*50都能过加个vector优化到#include "stdio.h"#include "string.h"#include "
2014-09-17 16:42:22 939
原创 HDU 5009 DP
2014 ACM/ICPC Asia Regional Xi'an Online对于N个数 n(1 ≤ n ≤ 5×104),把N个数分成任意个区间,每个区间的值是该区间内不同数字个数的平方和,答案使和最小DP思路,首先要对数据合并相连相同数字,然后离散化。数据太弱了。。。。。然后直接做N*N的DP竟然能AC。。。。比赛时候想到了。。。不敢写。。。G++AC C++TL
2014-09-17 14:56:11 993
原创 HDU 5012 BFS水
2014 ACM/ICPC Asia Regional Xi'an Online对于一个筛子,规定了以底面的四个边为轴,可以进行翻转,给出起始状态,求最少步骤到目标状态。简单BFS#include "stdio.h"#include "string.h"#include "math.h"#include "queue"using namespace std;
2014-09-16 11:44:48 834
原创 HDU 4705 树形DP
2013 Multi-University Training Contest 10有一颗树, 选出3个点。 不在同一条路径上的集合数。树形DP做遍DFS即可分别考虑 A,B分别位于cur的不同儿子,C在cur的祖先A,B,C分别位于cur的不同儿子#include "stdio.h"#include "string.h"#include "vec
2014-09-04 12:09:54 706
原创 HDU 4707 水DFS
所有房子组成一颗树,求出离根节点0的距离大于d的节点数目DFS+vector存边 水过#include "stdio.h"#include "string.h"#include "vector"using namespace std;vectormapp[100010];int ans,d;void dfs(int cur,int pre,int op){
2014-09-03 20:14:44 638
原创 HDU 4726 贪心
2013 ACM/ICPC Asia Regional Online —— Warmup2贪心给出两个位数一样的数,位数数字的每一位都能移动, 但移动后的整数一定要是合法的, 即无前导零。 使得 A + B 最大特殊加法: 8+2=0; 8+3=1;贪心从9开始取,第一位不能为0;#include "stdio.h"#include "string.
2014-09-03 14:23:01 875
原创 SYSU 1686 线段树 lazy
区间更新+lazyI 操作 l-r 区间+cC操作 l-r区间的最大值,并把最大值删除线段树再加个记录最大值的位置即可#include "stdio.h"#include "string.h"int ans,mark;struct node{ int l,r,Max,mark,lazy;}data[400010];void
2014-09-03 10:19:48 698
原创 HDU 4973 线段树 映射离散算法
线段树的应用2014 Multi-University Training Contest 10题意:N个数,1-n每个数出现一次,M次操作操作D:第a个数到第b个数次数翻倍操作Q:询问第a个数到第b个数出现次数最多的数的个数对于样例:1 2 3 4 5D 5 5 =>1 2 3 4 55Q 5 6 =>1 2 3 45 5D
2014-09-02 16:41:58 692
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人