
hdu
文章平均质量分 68
nianiajr
http://www.liangjiarui.com/
展开
-
hdu 3652 -数位dp
之前学校新生培训的时候学长挂的题,当时给了标准代码没看明白,放了半年,今天花一天总算看明白了,从这个过程也能看出这半年学习是有不少进步的,代码的理解有一定的加深,不过单看数位dp7k+那个缩减模版有的地方确实是有点丧心病狂了,所以参照了另一个注释写的比较多的博主http://blog.youkuaiyun.com/xingyeyongheng/article/details/8806414最后思路综合了下,写原创 2013-09-10 23:36:40 · 1028 阅读 · 0 评论 -
hdu 4768
找出手持奇数传单的人及其传单数,如果没有则按要求输出,直接暴力肯定是不行的,通常在暴力情况下不行的时候就得想想如何优化,二分是首先应该想到的,首先可以先根据给定的每个社团的所发传单号满足等差数列,由此可以统计一下总的传单数,为偶数则可以得出不存在奇数传单情况,因为奇数传单有且只存在一个,如果否则需要找出手持奇数传单的,接下来就需要二分了,那么如何进行二分呢?先找出最大编号的同学,那么根据分析可知,原创 2013-10-02 23:46:24 · 1230 阅读 · 0 评论 -
hdu 4738
判连通求桥问题,输出最少派兵人数,不过有个坑就在于如果有桥上无人把手也应当需要派一个人去炸桥,则问题可以解决。#include#include#include#includeconst int INF = 0x3f3f3f3f;const int maxn = 1005;using namespace std;int edge[maxn][maxn];vector原创 2013-10-03 10:16:30 · 829 阅读 · 0 评论 -
hdu 4740
肯定是贵州老乡出的题,很简单的一个模拟题,稍微坑点的地方在如果开始两个出发点就相同的话,那么就直接输出,好了前几天网络赛就做这两题,不过一个人做还是有进步了,继续加油。#include#includeint dir[4][2]={{0,1},{1,0},{0,-1},{-1,0}};int vis1[1005][1005];int vis2[1005][1005];int r1原创 2013-09-17 19:39:58 · 775 阅读 · 0 评论 -
hdu 4764
找规律,可以发现先手的人在后手人限制的情况下永远没办法取到(K+1)的倍数,那么相反如果先手人每次取最优那么必定能赢,因为其他的取法如果有让后手赢得情况那么可以采取改变先前取数策略来进行转化。同时可以看出谁先取到(n-1)那么就赢了。#includeint main(){ int n,k; while(scanf("%d %d",&n,&k)&&(n+k)){原创 2013-10-02 11:36:42 · 927 阅读 · 0 评论 -
hdu 4762
分蛋糕,求所有草莓落在一块蛋糕上的概率,假设其中一颗草莓在一块蛋糕上,剩下的n-1颗草莓与其落在同一区域的概率就是(1/m)^(n-1);最后再乘上草莓数即Cn即可出解,不过这里数据很大得用到高精度计算。#include#include #includeusing namespace std;struct bign{//高精度运算类 int len, s[30];原创 2013-10-02 18:54:22 · 857 阅读 · 0 评论 -
hdu 4751
一个人就是弱···做这个题做了四个小时···一直WA开始以为两个动态数组当作两个组,依次把每个人加入就好,还真觉得没什么问题。。。思维好搓啊,哪里可以这么简单。后面下来才知道这是一个tow_sat问题,第一次听说这个名词···,大概和二分图差不多,既然要分组,那么不认识的肯定不能在同一组,用两个标记进行排斥分组就好,但得注意此处的单方认识也要当作不认识,后面枚举每个点进行一遍dfs()查找是否有矛原创 2013-09-22 11:59:44 · 740 阅读 · 0 评论 -
多校 Magic Pen 6
Magic Pen 6Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 964 Accepted Submission(s): 351Problem DescriptionIn HIT, many peo原创 2013-08-07 14:06:35 · 675 阅读 · 0 评论