昨晚各种莫名其妙卡题. 不过细看这套题还挺简单的.全是各种暴力. 除了最后一道题计算几何看起来很麻烦的样子,其他题都是很好写的吧. A. Babs' Box Boutique 题目大意是给出不超过10个的长方体,然后求怎样堆叠使得放的长方体最多. 堆叠的要求是长方体一个一个的往上放,要求接触的面,上面的面长和宽不能比下面的面大 那么每个长方体有三个面,我们就3^n枚举每个长方体使用的哪一面放的. 然后按照这些面的宽进行排序,做一下LIS即可 #include <iostream> #inclu…
Sum of divisors Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4318    Accepted Submission(s): 1382 Problem Description mmm is learning division, she's so proud of herself that she can figure…
P1452 Beauty Contest 题意 求平面\(n(\le 50000)\)个点的最远点对 收获了一堆计算几何的卡点.. 凸包如果不保留共线的点,在加入上凸壳时搞一个相对栈顶,以免把\(n\)号点删走了 旋转卡壳和凸包都想一下更新的时候带不带等于号阿 Code: #include <cstdio> #include <algorithm> using std::max; const int N=5e4+10; int s[N],tot,n,p; struct Vector…
Problem Description In this problem, you are given several strings that contain only digits from '0' to '9', inclusive.An example is shown below.101123The set S of strings is consists of the N strings given in the input file, and all the possible sub…
题目链接:http://codeforces.com/problemset/problem/369/B 题目意思:给出6个整数, n, k, l, r, sall, sk ,需要找出一个满足下列条件的序列:1. l <= 每一个数 <= r   2.整个序列的数的和为sall       3.取得最高分数的那k个人的总分数恰好(注意,是刚刚好,多了或少了都不可,而且这k个人的分数不一定都是相等的)等于sk.(至于后面的那句 if a1, a2, ..... sk = a1 + a2 + ...…
Browsing History http://acm.hdu.edu.cn/showproblem.php?pid=4464 签到 #include<cstdio> #include<algorithm> using namespace std; ]; int main(){ ; while(~scanf("%d",&n)){ ; while(n--){ scanf("%s",a); ; ;a[i];i++){ sum+=a[i];…
Friend Chains http://acm.hdu.edu.cn/showproblem.php?pid=4460 图的最远两点距离,任意选个点bfs,如果有不能到的点直接-1.然后对于所有距离最远的点都bfs一次.最坏n^2 邻接表 #include<cstdio> #include<cstring> #include<iostream> #include<queue> #include<map> #define mt(a,b) mems…
Draw Something http://acm.hdu.edu.cn/showproblem.php?pid=4450 o(n)统计输入每个数的平方和. #include<cstdio> int main(){ int n,x; while(~scanf("%d",&n),n){ ; while(n--){ scanf("%d",&x); ans+=x*x; } printf("%d\n",ans); } ; }…
这套题..除了几何的都出了 完全没时间学几何.杯具 A,B,J 水题不解释 C.Pen Counts 这题的话 写几个不等式限制边得范围就行了 然后枚举最小边 D.Maximum Random Walk 这题的话. 正解是一个n^3的dp dp[i][j][k] 表示第i步走到第j位置最右为k的概率 然后用滚动数组搞,非常简单. 但是还有一种n ^ 2的方法. 被我在比赛中试出来的. 大概是直接记录的第i步走到最右为j的概率 #include <iostream> #include <a…
意甲冠军:给定的长度可达1000数的顺序,图像password像锁.可以上下滑动,同时会0-9周期. 每个操作.最多三个数字连续操作.现在给出的起始序列和靶序列,获得操作的最小数量,从起始序列与靶序列. 花了一天的时间.我觉得是道非常难的DP.这个阶段非常好划分,对于前面完毕的password锁就不再考虑.问题的关键是这个旋转每次能够的情况非常多. 同一时候也能够发现当I位置上确定移好后,至多影响到后两位.-> dp[i][j][k] 表示当前i位移好后,i+1 为j ,  i+2为k 的次数.…