C++
文章平均质量分 67
tao_tao_bu_jue
-
展开
-
FOJ 1675 The Seventy-seven Problem
The Seventy-seven Problem Time Limit:2sMemory limit:32MAccepted Submit:20Total Submit:36 One day, daxia writes a big number N that can be divided by seventy-seven on the paper原创 2008-12-23 17:31:00 · 742 阅读 · 3 评论 -
FOJ 1582 众数问题
众数问题 Time Limit:1sMemory limit:32MAccepted Submit:226Total Submit:926 给定含有n个元素的多重集合S,每个元素在S中出现的次数称为该元素的重数。多重集S中重数最大的元素称为众数。例如,S={1,2,2,2,3,5}。多重集S的众数是2,其重数为3。数据输入输入包括多组数据,原创 2008-10-26 09:44:00 · 1692 阅读 · 0 评论 -
堆的初识
v/:* {behavior:url(#default#VML);}o/:* {behavior:url(#default#VML);}p/:* {behavior:url(#default#VML);}.shape {behavior:url(#default#VML);}v/:textbox {display:none;}幻灯片 6.O {color:w原创 2008-10-26 08:39:00 · 584 阅读 · 0 评论 -
PKU_1845 Sumdiv
http://acm.pku.edu.cn/JudgeOnline/problem?id=1845SumdivTime Limit: 1000MSMemory Limit: 30000KTotal Submissions: 2659Accepted: 461DescriptionConsidertwo natural numbers A and B. Let S be the sum of原创 2008-10-09 22:03:00 · 885 阅读 · 0 评论 -
FZU_1615 Hero's RP
类似一个高中的DP题。树状DPhttp://acm.fzu.edu.cn/problem.php?pid=1615题目的意思就是邀请一些人,可以获得对应的RP价值,可是如果邀请到了有上下属关系的人,那么RP价值会减少,求的就是如何邀请才能使获得的RP最大开个数组dp[i][2]表示第i个节点选择与否的解,然后从根DFS,最后线性扫描数组取max(dp[i][0],dp[i][1])(0一开始就只以原创 2008-10-25 07:11:00 · 431 阅读 · 0 评论 -
PKU_2239 Selecting Courses
构图的时候是课程序号(0..n-1)到课的节数((p-1)*12+q-1)然后土土匹配就可以AChttp://acm.pku.edu.cn/JudgeOnline/problem?id=2239#include using namespace std;#define N 1000bool map[N][N],visit[N];int n,m,match[N];bool dfs(int pre){原创 2008-10-24 21:37:00 · 452 阅读 · 0 评论 -
UVA_11526 H(n)
思路就是找到n/i结果相同的,跳过并累加注意的是数据十分变态,居然还有nProblem GH(n) Input: Standard InputOutput: Standard Output What is the value this simple C++ function willreturn? long long H(int n){原创 2008-10-24 14:06:00 · 967 阅读 · 0 评论 -
PKU_3699 miniSQL
模拟题...比较繁琐..过的人代码普遍很长.......注意方格中的内容"居中"方格宽度=这一列的最大字符串长度+2然后居中的时候,设字程是L,方格长K那么对于字的左边来说,应该有(K-L)/2的空格右边则要有K-L-(K-L)/2个空格.注意方格宽度=这一列的最大字符串长度+2这一列的最大字符串长度并不一定就是项目的名字miniSQLTime Limit: 1000MSMemory Limi原创 2008-10-05 22:06:00 · 865 阅读 · 0 评论 -
UVA_485 Pascal's Triangle of Death_高精度
6701158 485 Pascals Triangle of Death Accepted C++ 0.130--> 2008-10-04 17:05:05 6701129 485 Pascals Triangle of Death Wrong answer C++ 0.1原创 2008-10-05 08:16:00 · 1471 阅读 · 3 评论 -
UVA_374 Big Mod_数论
直接敲的a^b mod c,基本代码要好好掌握基本情况是1Y.注意pro函数的优化-_-~其实可以不用写这么麻烦的不过为了通用性#include using namespace std;typedef unsigned long long llong;llong pro(llong a,llong b,llong n){ llong back=0,temp=a%n; while (b)原创 2008-10-05 08:09:00 · 612 阅读 · 0 评论 -
HDU 2429 Word Game
以下是baidu找的题解以单词为点,能前后相连的单词之间连边,得到一个有向图,求长度为奇数且小于等于N的不同的S->T的路径数。设邻接矩阵为A,则可通过求A+ A ^ 3 + ... + A ^ N求解。构造一个矩阵后可通过logN次矩阵乘求解。以下是本人代码2饕饕不绝31MS0K2438BC++2008-10-22 12:53:26/*求和的时候稍微做了点优化*/#include #includ原创 2008-10-22 12:56:00 · 607 阅读 · 0 评论 -
无聊写了个巨简单无比的后台小程序,算练手-__________-,好久没用纯C了
据说不在vc++9.0上就会出N多错误...#include #include #define MAX_LEN 255 #define MAX_STU_NUM 10000 #define ADD_STU_INFO "add" #define DEL_STU_INFO "del" #define UP_STU_INFO "update" #define F原创 2008-08-27 20:07:00 · 619 阅读 · 0 评论 -
求2~1000000内的数字的因子
今天练习了下,当是复习vector和map....代码很简单不过挺有用 #include #include #include using namespace std; #define PRI_ERROR {cout#define GET_PRIMES for(i=2;ibool pri[1000001]={true,true};typedef原创 2008-08-22 20:34:00 · 580 阅读 · 1 评论 -
FOJ 1599 Cow Travelling
一开始土土dfs,不是WA就是TLE .....最后发现原来可以回头走的-_______________-那确实没做过够麻烦想了好久......最后竟然发现开始点居然被我标记了....取消标记后一次AC的说...dp[100][100][16]中dp[x][y][t]用来保存(x,y)点在剩余时间还为t时到达终点的方案数.然后就是土土的dfs....-__________-学习到不少的原创 2008-08-21 19:07:00 · 2218 阅读 · 0 评论 -
PKU 3639 Exchange Rates
典型的dp0dp[i+1].usa=max{int(dp[j].can/r[i]*0.97)} 0dp[i+1].can=max{int(dp[j].usa*r[i]*0.97)} 0很简单的DP题不过题目很邪恶,精度问题要注意-_____________-是说每次取到0.01..不能疏忽#include #include using namespace原创 2008-08-18 20:34:00 · 497 阅读 · 0 评论 -
ZJU_3048 Continuous Same Game
Continuous Same Game Time Limit: 1 Second Memory Limit: 32768 KB原创 2008-10-25 20:47:00 · 499 阅读 · 2 评论 -
树状数组
树状数组 树状数组是一个查询和修改复杂度都为log(n)的数据结构,假设数组a[1..n], 那么查询a[1]+...+a的时间是log级别的,而且是一个在线的数据结构, 支持随时修改某个元素的值,复杂度也为log级别。 来观察这个图: 令这棵树的结点编号为C1,C2...Cn。令每个结点的值为这棵树的值的总和,那么容易发现: C1 = A转载 2008-12-30 17:42:00 · 857 阅读 · 0 评论 -
ZJU 3061 Function
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=2715题目意思很简单就是输入2个数n,k叫你求sigma(f(i))%k (1我的算法很明显不是最好的,跑了780MS+,不过在取mod时候稍微优化下应该是几百MS的级别吧...不说了下面说下思路利用2的特点扫描出现2,那么马上可以使循环变量直接跳:如:扫描到2000(3)的时候原创 2008-11-10 22:08:00 · 455 阅读 · 0 评论 -
HDU 1755 A Number Puzzle
中文题我就不多解释题意了.一开始是暴力枚举,每组数据的复杂度高达o(8!*2000),必然导致TLE...but 看到这个(0DP[i][j] 表示在这8!种组合数中,mod i==j的数的最小值,这个可以使用DFS方便的枚举,于是对于每组数据,复杂度降到了o(8!*100)然后对于输入的X,K,看DP[K][(K-X%K)%K]是否存在,若存在,输出,否则输出"None";查询原创 2009-02-06 09:05:00 · 740 阅读 · 0 评论 -
ZOJ 3108 Last Digit
题目的意思是给定一个有重复元素的字符集合,叫你求在所有的排列中不重复的种数W的最后一个非0位.如:aaba不重复的有4种,分别是:aaabaabaabaabaaa所以答案是4首先看一下数据规模,S (1 如果以前见过类似的组合数学的题,那可以马上推出公式,如果没有学过,那么现在一起来推一下.就拿aaba来说参考一个已经是按照字典序排列好的串:aaab显然在我们所求的组合的集合中他必须是唯一原创 2009-02-06 08:47:00 · 654 阅读 · 0 评论 -
Java学习笔记(1)
1.输入读取文件:import java.io.*;import java.math.*;import java.util.*;public class Main{ public static void main(String args[]) throws Exception { Scanner cin=new Scanner((new FileInputStre原创 2009-02-06 10:14:00 · 502 阅读 · 1 评论 -
HDU 1727 Hastiness
水题,贴这个主要是为了以后找单词方便哈哈 #include#include#include#includeusing namespace std;string num[10000];vectorstring> VS;int main(){ int i,j; num[0]="zero"; num[1]="one"; num[2]="two"; num[3]原创 2009-02-06 09:04:00 · 886 阅读 · 0 评论 -
USACO 3.2 Factorials
PKU已经挂了6天了,一直想验证自己写的logn的计算n!最后一位的算法是否正确,这次USACO告诉我我写对了! USER: A e [chenh193]TASK: fact4LANG: C++Compiling...Compile: OKExecuting... Test 1: TEST OK [0.000 secs, 4000 KB] Test 2: TEST OK [0.02原创 2009-02-01 11:19:00 · 661 阅读 · 0 评论 -
USACO 3.1 Contact
本人使用字符集为{0,1}的trie AC掉了,不过该题的输入输出比较恶心...因为这个错了好几次... USER: A e [chenh193]TASK: contactLANG: C++Compiling...Compile: OKExecuting... Test 1: TEST OK [0.011 secs, 8524 KB] Test 2: TEST OK [0.原创 2009-02-01 10:48:00 · 764 阅读 · 0 评论 -
HDU 1251 统计难题
第一次写TRIE树,贴贴做模板 #include#include#include#includeusing namespace std;struct Trie{ char data; bool isword; int next[26],cnt; void init(char c) { memset(next,0,sizeof(next));原创 2009-01-30 17:16:00 · 916 阅读 · 0 评论 -
HDU 2642 Stars
-_-!为啥这么多题目的名字都叫Stars呢...寒一个~N很大~点坐标很小~该题很明显是二维树状树组,不过有一点比较麻烦的就是可能对于同一个点多次插入,开个bool判断即可~~~还有要注意坐标是0查询的时候我是使用区间的加加减减,效率MS还可以提高的说 下面是主要的思路代码: int main(){ int T,x,y,x1,y1,原创 2009-01-27 00:00:00 · 615 阅读 · 0 评论 -
USACO 3.1 Stamps
easy dp. dp[i]表示达到i分所需要的最少的邮票数,如果扫描到某个i超出了所给出的限制,那么输出i-1.dp[i]=min(dp[i-s[j]]+1) (i-s[j]>=0&&1 代码就不贴拉荒废了好几天...终于进3.2了...原创 2009-02-01 11:13:00 · 502 阅读 · 0 评论 -
ZJU 1610 Count the Colors
由于线段树的插入和更新还搞不大清楚所以做这题很痛苦,搞了半天总算在偷看大牛代码以后过了... 学到了如何更新~ #include using namespace std;struct Seg{ int l,r,data;}seg[8000*3];int col[8001];int tmp;void mkseg(int x,int l,int r){ seg[x].l=l;原创 2009-01-27 11:26:00 · 1111 阅读 · 0 评论 -
USACO 3.1 Shaping Regions
由于数据规模实在大的BT,所以只能使用离散化构线段树...首先对x离散化,然后构造一个一维的线段树,并重复操作,最后统计该X区间内所有颜色映射在Y上的长度,就可以得到这个区间内的每种颜色的面积,至于颜色1,我是在最后把n*m减去所有颜色的面积得到的。。最后一个BT数据跑了1。3XS才过。。。瀑布汗.... USER: A e [chenh193]TASK: rect1L原创 2009-01-31 16:44:00 · 766 阅读 · 1 评论 -
USACO 2.4.3 Overfencing
第一次接触flood fill,不过做完才发现原来这就是所谓的flood fill...我怎么觉的就是土土BFS呢.... 我的思路是找到2个出口,做2次BFS,更新每一格的值,对于每一个格来说取最小的,最后取所有的格子中的最大值就可以了...还是不能理解flood fill是啥~标程怎么写的也和BFS长那么象~不管如何总算AC了...呵呵现在最喜欢的就是看到下面这种情况了.原创 2009-01-19 22:03:00 · 590 阅读 · 0 评论 -
HDU 1264 Counting Squares
Counting SquaresTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 105 Accepted Submission(s): 59Problem DescriptionYourinput is a serie原创 2009-01-17 13:55:00 · 1143 阅读 · 0 评论 -
FZU 1608 Huge Mission
http://acm.fzu.edu.cn/problem.php?pid=1608题目的意思很简单,就是问在所给的时间段内的最大的工作量,考察的是线段树,下面是偶写的不怎么样的Pascal代码跑了3S+...无语,C++ 1S内..寒~插入的时候完全覆盖才插入,最后来次dfs更新,统计元区间的值就OKtype Segment=record L,R,tLen:longint;end;vara原创 2008-11-10 21:52:00 · 643 阅读 · 0 评论 -
PKU 3191 The Moronic Cowmpouter
-2进制,和2进制差不多,不过要注意奇数时的区别还有-2进制不能表示所有的数,所以测试的时候可能有些数字得到的结果是错的-____________-不知道这题啥意义..... #include #include using namespace std;vectorint> m;int main(){ int n; while(原创 2008-08-18 20:53:00 · 546 阅读 · 0 评论 -
dijkstra
//模板#define N 1001#define inf (1int mat[N][N],pre[N],d[N];void dijkstra(int s,int n){ int i,j,k;bool v[N]; for(i=0;ifalse; for(i=d[s]=0;i { for(j=0,k=-1;jif(!v[j]&&(k==-1||d[j] for(j=0,v原创 2008-08-18 20:04:00 · 422 阅读 · 0 评论 -
PKU 3070 Fibonacci
经典的用矩阵解决的题目.f(k)表示数列的第k项,那么可以很容易的得到f(n) 1 1 f(1) = 的n-1次方 * f(n-1) 1 0 f(0) -______________原创 2008-08-18 20:46:00 · 587 阅读 · 0 评论 -
FOJ 1174 Dice Stacking
Dice StackingTime Limit:1sMemory limit:32MAccepted Submit:27Total Submit:36Chun-Soo is playing a dice stacking game. Six faces of a die are squares of the same si原创 2008-08-08 10:38:00 · 694 阅读 · 0 评论 -
POJ 3233 Matrix Power Series
转至:http://blog.csdn.net/wohenlaoshia/archive/2008/08/07/2784489.aspx http://acm.pku.edu.cn/JudgeOnline/problem?id=3233Matrix Power SeriesTime Limit: 3000MSMemory Limit: 131072KT转载 2008-08-08 10:01:00 · 1677 阅读 · 5 评论 -
POJ 3625 Building Roads
Building RoadsTime Limit: 1000MSMemory Limit: 65536KTotal Submissions: 1204Accepted: 307DescriptionFarmer John had just acquired several new farms! He wants to connect th原创 2008-08-08 09:43:00 · 504 阅读 · 0 评论 -
POJ 1753 Flip Game BFS+位压缩状态
http://acm.pku.edu.cn/JudgeOnline/problem?id=1753Flip GameTime Limit: 1000MSMemory Limit: 65536KTotal Submissions: 2565Accepted: 1016DescriptionFlip game is played on a rec原创 2008-08-08 09:27:00 · 15062 阅读 · 0 评论 -
Beavergnaw
BeavergnawTime Limit:1sMemory limit:32MAccepted Submit:284Total Submit:505When chomping a tree the beaver cuts a very specific shape out of the tree trunk.原创 2008-08-08 09:19:00 · 639 阅读 · 0 评论