- 博客(39)
- 资源 (2)
- 收藏
- 关注
原创 POJ 2769 Reduced ID Numbers (同余定理)
/*应用同余定理模拟就好,让m从小到大递增注意验证是否满足条件即可。因为求的是同余所以bool数组可以比数据范围小10^(-1)倍。。。否则会超时。。。*/ Source Code Problem: 2769 User: imutzcy Memory: 280K Time: 454MS Language: C++ Result:
2013-02-22 00:56:03 422
原创 UVa 10498 Happiness! (线性规划)
Happiness! Input: standard input Output: standard output Time Limit: 3 seconds Prof. Kaykobad has given Nasa the duty of buying some food for the ACM contestents. Nasa decided to buyn different it
2013-02-20 23:14:54 818
原创 POJ 1273 Drainage Ditches (最大流,线性规划)
/*题目大意:有N条排水管道连接编号为1~N个的节点,从Si到Ei的排水管道的最大容量是Ci。输入第一行N , M ,接着又N行,分别是每条排水管道的Si,Ei,Ci。求:从节点1到节点M最大能够通过的流量是多少。*/ /*这是一道很明显的最大流问题,可以用网络流算法来稿,还可以用线性规划来做。我用线性规划来搞的。*/ /*节点的流入流出以及管道的最大容量为约束条件,每条水管通过的
2013-02-20 02:41:59 923
原创 西电ACM2013年2月月赛--XDUOJ
A 练习printf语句。。。。 B 并查集应用(占坑) C 优先队列(占坑) D 最小生成树变形(占坑) E 递推,求三角形的个数。 /* 递推公式:a[n] = a[n-1] + n * (n + 1) / 2;* 还有一种情况:最底下一行顶角朝下的三角形* 观察规律得:temp = (n-1) + (n-1)-2 + (n-1)-4... + last
2013-02-19 22:34:38 608
原创 HDU 1521 排列组合 (指数型母函数)
/*很裸很裸的指数型母函数。。。(注意:指数形式的母函数由于除以了大数,所以精度序号控制,否则会WA N多次)Ans= x ^ m的系数 * (m !) */ Problem : 1521 ( 排列组合 ) Judge Status : Accepted RunId : 7628739 Language : C++ Author : CherryCh
2013-02-19 02:47:07 436
原创 ZOJ 3203 Light Bulb (三分算法)
/*人左右走动,求影子L的最长长度。 根据图,很容易发现当灯,人的头部和墙角成一条直线时(假设此时人站在A点),此时的长度是影子全在地上的最长长度。当人再向右走时,影子开始投影到墙上,当人贴着墙,影子长度即为人的高度。所以当人从A点走到墙,函数是先递增再递减,为凸性函数,所以我们可以用三分法来求解。 */ #include #include #include #include
2013-02-19 02:26:20 398
原创 POJ 1014 Dividing(DFS、完全背包、母函数)
/*题意:每一行输入的6个数,第 i 个数表示价值为 i 的珠宝的个数,问这些珠宝是不是能等价平分给两个人*/ /*解法:1、最简单的方法就是用dfs搜索就行(占坑) 2、完全背包的基础题(占坑) 3、母函数。总价值 value=(∑( i * num )),如果value为奇数,那么珠宝不可分。当value为偶数是,就可利用母
2013-02-19 01:53:17 912 4
原创 POJ 3737 UmBasketella (三分算法)
/* 题意:给你一个圆锥体,圆锥底面积给出,问你圆锥的最大体积是多少。 思路:枚举底面圆半径,算圆锥的体积。可以列出表达式,满足三分,因此可以三分枚举底面圆半径 函数:s=PI*(r+sqrt(r*r+h*h)),这样三分r或者h都可以求出另一个,我是算得r */ Source Code Problem: 3737 User: imutzcy
2013-02-19 00:14:20 488
原创 HDU 1396 Counting Triangles
/*递推题,坑死我了。。。 递推公式:a[n] = a[n-1] + n * (n + 1) / 2;* 还有一种情况:最底下一行顶角朝下的三角形* 观察规律得:temp = (n-1) + (n-1)-2 + (n-1)-4... + last (n为奇数, last为2, 反之为1)* 所以a[n] = a[n] + temp */ Problem : 13
2013-02-18 15:06:19 422
原创 HRBUST 2013 Winter Holiday Contest 5
A 首先读题不认真没有仔细的读数据范围,以为人家学校给大一训练的很简单轻敌了,结果交了2次后才发现是字符串的比较,唉 傻逼了。 我用的是C++ STL string 比较容易,由于记不住什么qsort这神马的排序,写了个cmp就很容易过了。。。 #include #include #include #include #include #include #i
2013-02-17 18:08:22 582 1
原创 POJ 1961 Period || HDU 1358 Period || ZOJ 2177 Period
/* 给定一个长度为n的字符串s,求它的每个前缀的最短循环节。换句话说,对于每个i (2 求一个最大的整数K>1 (如果K存在),使得S的前i个字符组成的前缀是某个字符串重复K次得到 的。输出所有存在K的i和对应的K。 比如对于字符串aabaabaabaab, 只有当i=2,6,9,12时K存在,且分别为2,2,3,4 用的 是很不常见的 MP 算法(其实就是个状态转移图的
2013-02-17 17:23:21 501
原创 HDU 4018 Parsing URL
/*水题模拟*/ Problem : 4018 ( Parsing URL ) Judge Status : Accepted RunId : 7622177 Language : C++ Author : CherryChou Code Render Status : Rendered By HDOJ C++ Code Render Version 0.01 Bet
2013-02-17 12:52:10 486
原创 POJ 3252 Round Numbers
大致题意: 输入两个十进制正整数a和b,求闭区间 [a ,b] 内有多少个Round number 所谓的Round Number就是把一个十进制数转换为一个无符号二进制数,若该二进制数中0的个数大于等于1的个数,则它就是一个Round Number 注意,转换所得的二进制数,最高位必然是1,最高位的前面不允许有0 规定输入范围: 1 用组合做 很猥琐的题,我首先说说猥琐的地方,再
2013-02-17 00:35:24 364
原创 HDU 1246 自共轭Ferrers图
Problem : 1246 ( 自共轭Ferrers图 ) Judge Status : Accepted RunId : 7324872 Language : G++ Author : CherryChou Code Render Status : Rendered By HDOJ G++ Code Render Version 0.01 Beta #incl
2013-02-16 18:36:10 515
原创 母函数模版小结
下面是模板 #include using namespace std; const int _max=10001; int c1[_max],c2[_max]; int main() { int nNum; int i,j,k; while(cin>>nNum) { for(i=0;i { c1[i]=1; //初始化系数都为1 c2[i]=0; } //总共
2013-02-16 18:27:28 332
原创 POJ 1019 Number Sequence
大致题意: 有一串数字串,其规律为 1 12 123 1234 12345 123456 1234567 12345678 123456789 12345678910 1234567891011 123456789101112······k 输入位置n,计算这一串数字第n位是什么数字,注意是数字,不是数!(之前囧在这)例如12345678910的第10位是1,而不是10,第11位是0,也不是
2013-02-16 17:56:51 408
原创 HDU 1028 Ignatius and the Princess III (母函数)
/*普通母函数,求不同的等式个数*/ Problem : 1028 ( Ignatius and the Princess III ) Judge Status : Accepted RunId : 7619730 Language : C++ Author : CherryChou Code Render Status : Rendered By HDOJ C+
2013-02-16 15:17:51 290
原创 HDU 2082 找单词 (母函数)
/*母函数,求:X的指数 Problem : 2082 ( 找单词 ) Judge Status : Accepted RunId : 7619556 Language : C++ Author : CherryChou Code Render Status : Rendered By HDOJ C++ Code Render Version 0.01 Beta
2013-02-16 15:02:36 347
原创 POJ 1942 Paths on a Grid
题意:一个A*B的矩阵,题问从左下点沿矩阵的边走到右上点有多少种不同的走法,每次只能向右走或者向上走。 思路:排列组合计数。 /*每一个点的不同走法的总数,是由左边的点和下边的点的总数之和。*/ /*这就很容易联想到排列组合的一个公式:1942 : Paths on a Grid (排列组合)" border="0" name="image_operate_45921304427571
2013-02-16 01:06:40 304
原创 POJ 1496 Word Index || POJ 1850 Code
/*本质:从N个数中取出M个数的组合思想,C(n,m)=C(n-1,m-1)+C(n-1,m)。*/ /*EP:字符串长度是5,分成2部分,第一部分是长度从1到4的和(C(26,1)+C(26,2)+C(26,3)+C(26,4));*/ /*第二部分是对应的每一位小于该符号对应的字符串个数。*/ Source Code Problem: 1496 User: im
2013-02-16 00:16:45 311
原创 POJ 1833 排列
Source Code Problem: 1833 User: imutzcy Memory: 172K Time: 454MS Language: C++ Result: Accepted Source Code /*要用C++提交,G++ 会TLE*/ /*此题用STL的 next_permutation(op
2013-02-15 23:41:32 296
原创 POJ 2084 Game of Connections
/*高精度的Catalan数题目 公式: h ( n ) = h ( n - 1 ) * ( 4 * n - 2 ) / n + 1 */ Source Code Problem: 2084 User: imutzcy Memory: 296K Time: 0MS Language: C++ Result: Accepted
2013-02-15 23:24:05 346
原创 HDU 1023 Train Problem II
/*高精度的Catalan数题目 公式: h ( n ) = h ( n - 1 ) * ( 4 * n - 2 ) / n + 1 */ Problem : 1023 ( Train Problem II ) Judge Status : Accepted RunId : 7618448 Language : G++ Author : CherryChou
2013-02-15 23:22:08 331
原创 UESTC 1063 易位法字符串加密
/*假设密钥的长度为 M ,相当于把明文按顺序分成了 M 块,每块长度不齐的地方补 E ,对密钥进行枚举,每次把最小的且没有被标记过的那一块字符串输出,其实还是一个模拟类型的题目,细心就好。*/ view plainprint? #include #include #include #include #include #include
2013-02-15 16:01:25 946
原创 POJ 3749 破译密码
/*简单的凯撒密码求明文的题目,模拟*/ /* 字符密码:包含凯撒密码、移位变换、仿射变换--------1.明文变密文(模拟)2.密文变明文(移位变换、仿射变换)*/ #include #include #include #include #include #include #include #include #include #include #include #in
2013-02-15 15:14:51 475
原创 HDU 4006 The kth great number(STL)
/*用STL set 去维护集合的大小为k*/ Problem : 4006 ( The kth great number ) Judge Status : Accepted RunId : 6313274 Language : C++ Author : CherryChou Code Render Status : Rendered By HDOJ C++ Cod
2013-02-13 22:27:49 385
原创 HRBEU 占武卖花
占武卖花 TimeLimit: 1 Second MemoryLimit: 64 Megabyte Totalsubmit: 8 Accepted: 2 Description 占武是经济学班的学生,不过和那些理论家不同,占武是个务实型。他始终认为任何经济活动脱离了实际操作都是不可靠的。最近他在学习心理经济学,为了检测商品配置对购物者心理的影响,他决
2013-02-12 22:09:34 867
原创 HRBEU 石头剪刀布1
石头剪刀布1 TimeLimit: 1 Second MemoryLimit: 32 Megabyte Totalsubmit: 73 Accepted: 30 Description 放寒假了,x一个人在家很无聊。于是他就想出了一种新的石头剪刀布玩法(单机版的哦)。 玩法如下:S代表石头,J代表剪刀,B代表布。赢得一分,平不得分,输扣一分
2013-02-12 21:46:06 456
原创 HRBEU 购物(最大流模版题)
购物 TimeLimit: 1 Second MemoryLimit: 32 Megabyte Totalsubmit: 9 Accepted: 2 Description Acmer开了一家超市,出售n种物品(标号从1到n),每种物品有pi件,现在知道有m个顾客来买东西,他们看中了一些物品,他们的要求很低,只要能买到其中一个物品他们就满足了,问最多
2013-02-12 21:35:43 286
原创 HRBEU 油田合并
/*简单BFS搜索----http://acm.hrbeu.edu.cn/index.php?act=problem&id=1004&cid=18*/ #include #include #include using namespace std; struct Q{ int x,y; }; int dir[4][2]={1,0,-1,0,0,1,0,-1};
2013-02-12 17:51:51 491
原创 HRBEU Max Use Of CPU(01背包)
Max Use Of CPU TimeLimit: 1 Second MemoryLimit: 32 Megabyte Totalsubmit: 11 Accepted: 1 Description There are n tasks {1,2,3...,n} waiting in line to be operated on the compu
2013-02-12 17:45:56 300
原创 ZOJ 1201 Inversion
/*两个子函数,当输入序列时,从序列后面往前遍历,找他后面比他大的数的个数,然后用总数减掉这个数,和比他大的个数,放入对应的数组中,另一个子函数从前面遍历*/ #include #include #include #include using namespace std; int a[55],b[55]; void workp(int n){ int cnt;
2013-02-12 17:34:49 309
原创 ZOJ 1243 URLs
/*字符串模拟题*/ #include #include #include #include #include #define rep(i,n) for(i=1;i using namespace std; char s[100]; int T,i,j,k,n,len; int main(){ scanf("%d",&T); rep(k,T){ s
2013-02-12 17:28:36 266
原创 POJ 2339 Rock, Scissors, Paper
/* 题意:在一张row*col的图中,每个格由R,S,P中的一个组成,在一个单位时间里,R能取代掉它旁边(上下左右)的S,S能取代掉P,P能取代掉R,取代不当时生效,过一天后统一生效。问在n个单位时间后,图上R,S,P的分布是怎么样的。r,c,n*/ #include #include #include #include #include using namespace s
2013-02-12 17:20:50 442
原创 HDU 1518 Square
解题思路:sum%4!=0,max #include #include #include #include #include using namespace std; int a[100]; bool vis[100],flag; int m,ave; bool dfs(int ans,int sum,int cnt){ if(sum==ave) return tru
2013-02-12 17:10:50 233
转载 划分树的用法(一):查询区间第K大值值(poj2104)
可能是我太笨的原因,一个简单的划分树竟然用了三四天才慢慢能把最基础的用法领悟到。其实也挺好的,用时间去拼聪明人的智力,只要能领悟到,我们的收获是相同的! 好了,言归正传!划分树是线段树的深化,其本质还是线段树。划分树可以解决这样的问题(我现在也只读懂了怎么解决这一个问题):查询序列中动态区间的第k大值。比如:POJ2104(http://poj.org/problem?id=2104)。
2013-02-12 15:29:47 336
原创 HDU 3473 Minimum Sum
/*题意:给出n个数x1,x2...xn.进行m次操作,每次给出一个区间[l ,r].求出xi属于区间[l, r]使得该区间的每个数与xi的差之和最小,并求出该和。解决方法:划分树。*/ #include #include #include #include using namespace std; const int MAXN=200010; int tree[
2013-02-12 15:25:25 314
原创 HDU 2665 Kth number
/*划分树模版题*/ #include #include #include using namespace std; const int M=100005; int tree[20][M],sorted[M]; int toLeft[20][M]; void build(int level,int left,int right){ if(l
2013-02-12 15:23:00 258
原创 POJ 2104 K-th Number
/*划分树基础题模版*/ #include #include #include using namespace std; const int M=100005; int tree[20][M],sorted[M]; int toLeft[20][M]; void build(int level,int left,int right){ if
2013-02-12 15:21:34 300
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人