摘要: 10分钟左右A了... What Is Your Grade?Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 6195Accepted Submission(s): 1867Problem Description“Point, point, life of student!”This is a ballad(歌谣)well known in colleges, and you must care about your sc... 阅读全文
posted @ 2013-03-09 10:15 chenhuan001 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 现在正享受着彻底征服一道题的快感... 爽做这题是曲折的, 首先拿到题目马上想的是用k次dp来做。 很快的敲好了,然后果断wa。 后面想不通于是自己生成数据, 发现确实dp很难解决这个问题,因为k次dp的做法在这题中已相当于一种贪心, 而这题明显贪心是有问题的.看看这个数据就知道了:4 31 2 3 50 2 1 11 4 2 33 4 1 2发现如果每次找都找最大路的时候,最后的结果是32, 明显结果是34,这就是每步最优却不能保证最后的结果最优.这时发现,网络流的回流可以很好的解决这一问题,因为有回流所以可以保证k次流时费用最小。 因为网络流算法在后续的寻找增广路的过程中,通过回流可以改变 阅读全文
posted @ 2013-03-08 21:26 chenhuan001 阅读(221) 评论(0) 推荐(0) 编辑
摘要: a. 最近做过的最痛苦的a题。 平时a题最多也就5分钟,可是这题我却卡了近一个小时。题意很简单,以一种规则画圈, 然后求给出点需要转多少次方向.找规律方法 1 #include <stdio.h> 2 #include <string.h> 3 #include <math.h> 4 #include <algorithm> 5 #include <iostream> 6 using namespace std; 7 8 9 int main()10 {11 int x,y;12 scanf("%d%d",& 阅读全文
posted @ 2013-03-06 16:16 chenhuan001 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 求几个数的LCM, 可以知道的是,从第一个开始每两个求一次最小公倍数,然后得到的就是答案。Least Common MultipleTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 20767Accepted Submission(s): 7739Problem DescriptionThe least common multiple (LCM) of a set of positive integers is the smallest posi 阅读全文
posted @ 2013-03-05 08:15 chenhuan001 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 纠结了很久的一道题目,从拿到题目开始就没有想法, 再到看了几天才看懂了怎么做。 为了看懂题解我还特意去看了看线性规划,这题确实不简单。这建图的思路很值得学习!关于题解, 网上有大神的详细解题报告,如果想彻底的搞懂建议去看点线性规划基础的东西,不然会对其中的松弛操作,还有不等式的建立搞不清楚。我的理解,首先看到题目就可以知道这个必定和线性规划有关, 整个就一个线性规划的模型, 然后自然的就会列出不等式,进行松弛操作。 在得到一组等式后, 又可以想到的是, 那种用网络流求解不等式的方法, 当时要满足其中的变量要正负都出现一次, 然后等式两两相减,最后就是建图, 用最小费用流求解了。1061: [N 阅读全文
posted @ 2013-03-05 08:01 chenhuan001 阅读(349) 评论(0) 推荐(0) 编辑
摘要: 爱到深处伤到死,没死继续codeforces.a. 简单模拟题、b. 统计字符串中x,y的个数,输出的为然后一个x抵消一个y,输出剩下的.c. dp题, 这个状态转移以前没有见过,学习了下. 还有这题用其他的O(N*N)的算法,步骤不能太多容易超时,比赛的时候就写了一种 n*n 的超时算法。记得以前做的dp题,每次状态转移时都是根据固定的前面一层转移到这层. 而这次这个dp是连之前的也一起改变, 也就是当save[i]==save[j] 的时候 然后就让id=j . 具体看代码#include <stdio.h>#include <string.h>#include & 阅读全文
posted @ 2013-03-02 10:32 chenhuan001 阅读(255) 评论(0) 推荐(0) 编辑
摘要: a. 简单暴力题b. 简单博弈题,多试试几组数据可以发现性质。#include <stdio.h>#include <string.h>#include <string>#include <iostream>using namespace std;int main(){ char g[1100]; scanf("%s",g); int len=strlen(g); int cnt[30]; int sum=0; memset(cnt,0,sizeof(cnt)); for(int i=0;i<len;i++) { cnt 阅读全文
posted @ 2013-02-28 13:54 chenhuan001 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 稳定排序就是相同元素排序后次序不会发生改变的排序方法.冒泡是稳定排序.快一点的归并也是稳定排序. 稳定排序Time Limit: 3000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2766Accepted Submission(s): 1081Problem Description大家都知道,快速排序是不稳定的排序方法。如果对于数组中出现的任意a[i],a[j](i<j),其中a[i]==a[j],在进行排序以后a[i]一定出现在a[j]之前... 阅读全文
posted @ 2013-02-27 19:22 chenhuan001 阅读(352) 评论(0) 推荐(0) 编辑
摘要: 思路很明确,直接用线段树.Balanced LineupTime Limit:5000MSMemory Limit:65536KTotal Submissions:26161Accepted:12250Case Time Limit:2000MSDescriptionFor the daily milking, Farmer John'sNcows (1 ≤N≤ 50,000) always line up in the same order. One day Farmer John decides to organize a game of Ultimate Frisbee with 阅读全文
posted @ 2013-02-27 11:28 chenhuan001 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 表示这题坑了我很久,我拿到题目马上想到的是用记忆化搜索做, 然后发现不是很好实现 ,然后又想了一种 半记忆化+BFS 的东西,当时分析了下发现可行。 然后写了很久, 最后死都过不了。 然后看了别人的发现别人用的是dp解法,和我的非常类似,然后我用dp那样写发现能过, 最后调试了一晚上后终于发现了,用BFS还是难是实现。 有一些数据用bfs做会错。以前总是以为用dp能写的东西,那记忆化搜索也会很好写, 今天终于发现不用的方法还是要因题而议 ! , 所以以后别看这能用搜索做就立马什么都不想就用搜索做。机器人系列2Time Limit: 2000/1000 MS (Java/Others)Memor 阅读全文
posted @ 2013-02-26 21:10 chenhuan001 阅读(343) 评论(0) 推荐(0) 编辑