ACM
文章平均质量分 50
yueashuxia
这个作者很懒,什么都没留下…
展开
-
JAVA 用ArrayList对对象中某属性排序
一段示例程序:对Student类中的年龄按从小到大排序import java.io.*;import java.math.*;import java.util.*;import java.text.*;class Student{ int age; int id; String gender; String name;原创 2010-04-22 21:33:00 · 8662 阅读 · 2 评论 -
[TOJ]2233 WTommy's Trouble 强连通分量
直接上代码,以后可以用做我的模板Submit Time:2010-07-09 20:49:09 Language: GNU C++ Result:Accepted Pid: 2233 Time:0.12 sec. Memory: 4460 K. #include#include#include#include#include原创 2010-07-09 20:53:00 · 853 阅读 · 0 评论 -
[TOJ] 3243 Blocked Road -- 树状数组、线段树
题意和线段树做法在此 a数组作为存储道路情况的数组、c数组为树状数组把他俩都清空成0,然后我把a[i]想象成从i到i%N+1的边的状况如果某条路不通了就改成1,通了再改成0所以我只要看从 i 到 j 的所有道路的和,还有从 i 到 1的和、从 n 到 j的和,如果是0就是通路,反之亦然。Show Code - Run ID 946385Submit Time: 2010原创 2010-07-29 20:59:00 · 745 阅读 · 0 评论 -
[TOJ]1195. Sorting It All Out --拓扑排序
看到一个代码,几乎完美,我都不想改了。。以后当模板#include #include #include #include using namespace std;int n,m;vector top;vector in;vector > map;int topsort(){ int i,u; bool flag=false; q原创 2010-07-10 13:56:00 · 464 阅读 · 0 评论 -
[PKU] 3468 A Simple Problem with Integers -- 线段树
一开始超时,然后优化了好久。。开始给的n个值就算是初始值吧。我在建树的时候就把每个结点的和都算好了,存在info里,其实先建树再一个一个插入也是可以的。后面的操作中要增加的值就是附加值,我把它存在add里 。关键的优化就是,如果一个附加值正好加在线段树里的一个结点所代表的那个区间上,就不用再往子区间加下去了,加在那个结点就行。然后在查询的时候如果碰到了有附加值的结点又要往子区间去查询,就顺原创 2010-07-30 14:38:00 · 822 阅读 · 0 评论 -
[hdu]1394 Minimum Inversion Number -- 暴力求逆序、树状数组求逆序、线段树求逆序、归并排序求逆序
无聊都给写了..其实这道题的关键不是求逆序的方法,因为暴力也可以过。题意是,给一个长度为n的序列(n我用数组a[0~n-1]来存原始数据。只需求出原始序列的逆序数sum,然后对于a[i](01.暴力法。265MS212K600 BProblem : 1394 ( Minimum Inversion Number ) Jud原创 2010-08-01 21:45:00 · 1997 阅读 · 3 评论 -
[hdu]1698 Just a Hook -- 线段树
1Y了哈~优化方法和我上午刚做的[PKU] 3468 A Simple Problem with Integers 差不多在hdu用C++交比G++快了一倍。。以下是优化过的代码:27204772010-07-30 21:09:12Accepted1698453MS4120K1731 BC++TJRAC_ACMercy(紫薇)原创 2010-07-30 21:19:00 · 577 阅读 · 0 评论 -
[PKU] 2777 Count Color -- 线段树
我是先按常规的方法把每个区间的颜色更新到位,然后在查询的时候,遇到一个颜色就标记在res上(因为最多只有30种颜色,所以可以用位运算来标记状态)。最后计算res的二进制里面有多少个1就行了。Source CodeProblem: 2777 User: yueashuxiaMemory: 4844K Time: 469MSLanguag原创 2010-08-03 11:28:00 · 751 阅读 · 1 评论 -
PKU的Bridging Signals
PKU的Bridging Signals 在0(n*logn)的设计上写的很复杂,无意见看到下面这个程序(by CQF) 受到启发了!! 呵呵转CQF大牛的算法:1、建立一个栈stack,清空。{stack[i]表示当前状态下,所有长度为i的子序中最后一个数的最小值}。//这个太漂亮了:cqf是大牛大牛大大牛呀:)2、按先后顺序循环序列的每一个数,用操作3修改当前状态3、如果这转载 2010-07-07 10:17:00 · 574 阅读 · 1 评论 -
C语言文件输入输出函数
C语言输入输出函数1. fopen()函数 fopen函数用于打开文件, 其调用格式为: FILE *fopen(char *filename, *type); 在介绍这个函数之;前, 先了解一下下面的知识。 (1) 流(stream)和文件(file) 流和文件 在Turbo C2.0中是有区别的, Turbo C2.转载 2011-12-29 12:11:04 · 1108 阅读 · 0 评论 -
TOJ 1398 Square --DFS
给M个小棍(4此处是在TOJ运行0.00sec的加强版我一开始的DFS太暴力了。。后来参考别人的日志终于写出了三个参数的DFS~Submit Time: 2010-07-06 18:21:49 Language: GNU C++ Result: Accepted Pid: 1398 Time:0.03 sec. Memory:1204 K.原创 2010-07-06 18:48:00 · 974 阅读 · 0 评论 -
usaco Section 3.1 Shaping Regions -- 矩形切割
听说这道题用矩形切割做,于是学习了2004薛矛的oi论文。 我的做法是:弄一个白纸集合,开始里面只有一张白纸(0,0) (A,B)。然后把输入的N个矩形倒序地,每一个都与白纸集合中的所有白纸依次切割。对于输入的矩形rec[i]与每张白纸,用rec[i]去覆盖它。如果有交集,则交集为rec[i]的颜色,把元素个数统计到rec[i]的颜色中,然后把白纸中原创 2010-09-16 15:12:00 · 741 阅读 · 0 评论 -
usaco Section 3.1 Stamps -- DP
<br />我的大概比较适合初学者看~<br />/*ID: lingxiu1LANG: C++TASK: stamps*/#include<stdio.h>#include<string.h>#include<limits.h>#include<iostream>#include<algorithm>using namespace std;int dp[2000001] ;//dp[i]:表示面值为i的邮票需要的最少邮票数 int v[101] ; //面值原创 2010-10-09 13:47:00 · 584 阅读 · 0 评论 -
表达式求值 数据结构 C/C++ 栈的应用
用书上的代码拼凑的,还是很有成就感的哈支持的运算符号有"+","-","*","/","(",")","#"。支持20位以内无符号整数,当然可以很容易的改成有符号或者是实型数#include#include#include#define OPSETSIZE 7//函数结果状态代码#define TRUE 1#define FALSE 0#define OK 1#defi原创 2009-10-28 14:02:00 · 2383 阅读 · 5 评论 -
FZU1797 Special Prime
今天重写FZU1797(昨天比赛)发现了更白痴的规律..(虽然昨天找的规律已经很白痴,并且被我大哥称之为"乱搞"= =)今天发现第i个p=(i+1)*(i+1)*(i+1)-i*i*i再判断下算出来p是不是质数即可~C++&C混合代码..#include#includeusing namespace std;bool f[1000001]={0};void原创 2009-08-07 12:21:00 · 438 阅读 · 0 评论 -
TOJ 1683 Common Subsequence 最长公共子序列 依然DP
突然发现队长的个性签名变了,从“让AC成为一种习惯!”变成了“继续努力!”。是因为AC已经成为队长的习惯了,还是因为队长觉得自己可能要离开所以要开始新的征程了呢?哈哈~ 一个给定序列的子序列是在该序列中删去若干元素后得到的序列。确切的说,若给定序列X={x1,x2,…,xm},则另一序列Z={z1,z2,…,zk},是X的子序列是指存在一个严格递增下标序列{i1,i2原创 2009-10-07 21:21:00 · 872 阅读 · 0 评论 -
usaco Section 1.5 Checker Challenge 最慢0.162秒0.0+n皇后问题位运算版(C语言)
今天做USACO做到Section 1.5的Checker Challenge 直接dfs之后的结果是,超时。。百度查查才想起来就是八皇后问题。有人讲怎么利用对称性怎么怎么优化,我都懒得看~直到看到这个http://www.matrix67.com/blog/archives/266matrix67(是谁?貌似很牛)写的位运算教程,一上来就有个“n皇后问题位运算版”,被人称作最原创 2010-03-06 17:50:00 · 960 阅读 · 0 评论 -
李开复-算法的力量
算法是计算机科学领域最重要的基石之一,但却受到了国内一些程序员的冷落。许多学生看到一些公司在招聘时要求的编程语言五花八门就产生了一种误解,认为学计算机就是学各种编程语言,或者认为,学习最新的语言、技术、标准就是最好的铺路方法。其实大家都被这些公司误导了。编程语言虽然该学,但是学习计算机算法和理论更重要,因为计算机算法和理论更重要,因为计算机语言和开发平台日新月异,但万变不离其宗的是那些转载 2009-08-02 14:06:00 · 397 阅读 · 0 评论 -
ACM入门
ACM国际大学生程序设计竞赛新人向导上海交大ACM队长建议以上来自 中华信息学竞赛网原创 2009-07-31 13:59:00 · 522 阅读 · 0 评论 -
世界各大OJ
各大oj2009-04-17 20:311.题库与网站资源题库-在线提交系统(Online Judge)简介 下面是几个比较大的在线提交系统(Online Judge)里面有大量历年的竞赛题目,注册一个ID,然后用自己熟悉的语言(一般有Pascal/C/C++/Java)写好源代码提交即可,会实时返 回信息告诉你是否正确。采用黑箱测试,系统里有一套标准的输入输出数据(对外转载 2010-02-16 13:26:00 · 2394 阅读 · 0 评论 -
acm中用到JAVA的简单介绍
2007-05-18 14:09发信人: hillma (Hill), 信区: ACM 标 题: 大家都来学Java 发信站: 天大求实BBS (Mon Dec 12 18:56:23 2005), 本站(bbs.tju.edu.cn) 这段时间用Java比较多,写点经验给大家。 Chapter I. Java的优缺点各种书上都有,这里只说说用Java做ACM-ICPC的特点:转载 2010-03-27 09:32:00 · 581 阅读 · 0 评论 -
ACM之java速成
这里指的java速成,只限于java语法,包括输入输出,运算处理,字符串和高精度的处理,进制之间的转换等,能解决OJ上的一些高精度题目。1. 输入:格式为:Scanner cin = new Scanner (new BufferedInputStream(System.in));例程:import java.io.*;import java.math.*;import java.util转载 2010-03-27 09:39:00 · 592 阅读 · 0 评论 -
Runtime Error 代号介绍
Runtime Error 代号介绍SIG (Signal,Linux系统信号) 部分:(4) SIGILL 执行了非法指令. 通常是因为可执行文件本身出现错误, 或者试图执行数据段.堆栈溢出时也有可能产生这个信号. (6) SIGABRT 程序自己发现错误并调用abort时产生. (6) SIGIOT 在PDP-11上由iot指令产生, 在其它机器上和SIGABRT一样. (7) SI转载 2010-03-27 18:57:00 · 6985 阅读 · 0 评论 -
LOST退役文
<br />退役了<br /> 从哈尔滨到合肥,每一站都是惨淡收场,对不起自己,对不起队友,对不起学校,对不起大家的期待,终于,终于到了跟ACM/ICPC再见的时候,梦里经常出现这样的场面,真的很不舍,为此付出了很多的努力,收获却聊聊无几,或许我借口自己身在弱校,可以逃避许多问题。但我知道这绝对不是什么理由,从接触ACM到现在,我一直知道我想要的是什么,并为此而不懈地奋斗着,放弃了很多,至少这几年来没有真正地做过自己喜欢的事,没有寒假,没有暑假,没有游戏,没有电影,一直在为那个梦而奋斗,程序充斥了转载 2010-07-24 20:23:00 · 1412 阅读 · 0 评论 -
qsort()用法整理
的头文件里,strcmp包含在的头文件里> 一、对int类型数组排序int num[100];int cmp ( const void *a , const void *b ){ return *(int *)a - *(int *)b;}qsort(num,100,sizeof(num[0]),cmp); 二、对char类型数组排序(同int类型转载 2010-04-18 10:19:00 · 560 阅读 · 0 评论 -
发现了climits和STL的fill_n(),哈
看别人代码突然发现还有climits(limits.h)这么个头文件,以后初始化最大值最小值什么的就方便多啦符号常量 表示 CHAR_BIT char 的位数 CHAR_MAX char 的最大值 CHAR_MIN char 的最小值 SCHAR_MAX signed char 的最大值 SCHAR_MIN signed char 的最小值 UCHAR_MAX un原创 2010-02-25 10:14:00 · 992 阅读 · 0 评论 -
吼吼吼BFS~PKU1562Oil Deposits
写了一天终于AC了!第一道用算法写的题~完全没参考任何东西自己写的~~虽然说看过课件~好有成就感~~这道题用BFS不就是把要搜的点都放队列,然后以队列中的点为中心搜四周,然后搜过的全部标记么,队列不就用个数组么,队头队尾不就是两个指下标的整型变量么,搜相邻的点不就弄俩整型数组么~~咋原来觉得那么难呢。。偶的C++代码~#include#i原创 2009-08-03 23:32:00 · 632 阅读 · 0 评论 -
TOJ 2118 Optimal Array Multiplication Sequence 矩阵连乘 我会做DP了!
祖国母亲60岁的生日啊今天!早上8点就奋力睁开眼(2点睡的!)泡上面端着去小活看阅兵,从胸中涌出的自豪时不时让我热泪盈眶…… 过几天就要出去比赛了,我想把DP拿下。不敢说做难题,简单的总得会,我大哥要是想不出来起码还有个会的。那天做的TOJ 1626. Function Run Fun 大概知道了DP要保存会被大量重复计算的子问题(例子是计算斐波那契数列,也是第一个例子),还比较简单。第原创 2009-10-01 23:08:00 · 611 阅读 · 0 评论 -
[HDU] 3660 Alice and Bob's Trip -- 树形DP?
哈尔滨现场赛没做出来...我的代码和思路都参考了这位牛的博客:http://www.cppblog.com/Yuan/archive/2010/10/03/128074.html?opt=admin这种做法在我看来就是贪心+暴力么..我刚开始用vector做,一个一个clear(),超时。然后memset它,MLE。google了一下,知道了C++STL里面的对象不能memset,毕竟里面还有各种成员变量、函数是我们看不到的,很容易造成内存泄漏。然后用指针做,一需要新的结点就malloc,提交上去又MLE.原创 2010-10-05 11:21:00 · 956 阅读 · 0 评论 -
[TOJ] 1179 Game of Connections -- catalan数,JAVA文件输入输出
<br />给每个点编号为1~2n。写成圈儿以后,以点1为基准,发现只能连偶数号的点。依次和它们连线,把每次求出的方案数加到结果里。每连一条线就会把这个圈其余的点分成两部分,每部分对应点数的方案数是求过的,两部分方案数相乘,加到结果里去。如果跟相邻的点相连,就把剩下的点连接的方案数直接加进去。<br />推了一下前几个,发现正好是catalan数~Show Code - Run ID 954408Submit Time: 2010-08-08 19:23:16 Language: Java原创 2010-08-08 21:32:00 · 709 阅读 · 0 评论 -
USACO_2_3_Money Systems
又是动态规划,又是动规方程,但是如果你是准备参加noip的选手的话请不要错过这篇解说,因为这倒题虽然简单,但有很大的启发性,因此我准备详细的通过三个代码来讲解这道题。 首先我会引导读者如何去思考这道题的动规方法,通过一个时间效率为O(v*n*n)、空间效率为O(V*n)的简单方法,让读者理解程序的正确性。 然后我将改变一下思考的角度,介绍一个时间效率为O(v*n)、空间效率为O(v*n)的方法,让转载 2010-04-30 13:45:00 · 585 阅读 · 0 评论 -
UVA 100 The 3n + 1 problem
一道水题做的我如此纠结。。题目地址 # ProblemVerdictLanguageRun Time<!--Memory Used--> Submission Date7922691100The 3n + 1 problemAcceptedA原创 2010-04-25 10:22:00 · 611 阅读 · 0 评论 -
USACO Section 2.2 Party Lamps
analysis第一句:There are a number of insights required for this problem.真是没错。。其实很简单,我刚一看时想复杂了。。USACO题都这样么。看起来难,其实简单。 一共只有八种情况,预处理一下存起来就好。比如n=10,8种情况按2进制排序后:0.00000000001.00111000112.01010101013.011原创 2010-04-08 17:33:00 · 513 阅读 · 0 评论 -
ACM TOJ 1283 A DP Problem
因为取floor错了那么多次。求出来m是常数项和,n是x系数和,最后得m/n可是不对。要注意负数的情况,如果m/n小于0,那么取floor就得是m/n-1。原创 2010-04-19 19:27:00 · 608 阅读 · 0 评论 -
usaco Section 2.2 Preface Numbering
题意是用以下几个字母组成的数字来记数,问从1到给定的n每个字母各用了多少次I 1V 5X 10L 50C 100D 500M 1000做了这道题就能看懂罗马数字了~真神奇哈 不难看出这样的规律:0 -1 I2 II3 III4 IV5 V6 VI7 VII8 VIII9 IX 那么1~9用了14个I,5个V,1个X10~19 X+1~920~29 XX+1~9 /原创 2010-04-06 13:07:00 · 551 阅读 · 0 评论 -
全排列next_permutation的用法 HDU 1027 PKU 3187 1146 1731
全排列next_permutation HDU 1027 PKU 3187 1146 1731(2009-11-22 11:42:40)<a id="quote_set_sign2" class="SG_aBtn SG_aBtn_ico SG_turn" onclick="function onclick(){scope.articel_quote_alert && scope转载 2010-04-18 10:42:00 · 1830 阅读 · 0 评论 -
TOJ 1626. Function Run Fun
这道题是传说中的动态规划吧,嘎嘎~虽说简单了些。。题目地址#include#include#define M 101int ww[M][M][M];long long w(int x,int y,int z){ if(x<=0||y<=0||z<=0) return 1; if(ww[x][y][z]) return ww[x][y][原创 2009-09-18 19:23:00 · 755 阅读 · 0 评论 -
C语言头文件之float.h
float.h中的符号常量 float.h与limits.h一样是定义边界值的,float.h定义的是浮点数的边界值 double DBL_DIG double小数点后面精确的位数DBL_EPSILON 小的正数,double的0跨度值DBL_MANT_DIG 尾数中的位数DBL_MAX 最大转载 2010-05-01 23:01:00 · 7540 阅读 · 0 评论 -
【TOJ】1416. Catenyms --欧拉路
我明明是参考kobe的写的,他的0.00s,我的0.02。。后来发现他先把单词存到string数组,然后对string数组sort排序,然后再赋值到结构体,我在这个代码基础上加了之后变成0.01。。我从南开大学上找了个没我快的程序交在TOJ上,不仅没用时间还排在了第二。。。。。Show Code - Run ID 927792Submit Time: 2010-07-12 09:38:43 Language: GNU C++ Result: Accepted P原创 2010-07-12 12:49:00 · 973 阅读 · 0 评论 -
【TOJ】1070. Ouroboros Snake --构造?DFS?欧拉回路?【TOJ】3381. DeBruijin
张贴各种代码,仅供膜拜。。某的不在膜拜之列点击+expand source可以展开代码先贴[TOJ]1070 Ouroboros Snake 的1.宝哥的构造法,0.00s,排行第三#include#includeint va[32800];bool hs[32800];int ca(int ans,int n){ if(ans>n/2) ans-=n/2; if(!hs[ans*2]) {hs[ans*2]=1;return ans*2;} else { hs[ans*原创 2010-07-12 20:45:00 · 1549 阅读 · 0 评论