- 博客(17)
- 资源 (2)
- 收藏
- 关注
原创 hdu 3741 Ferry Loading V
之前做过一道Ferry Loading III, 这题思路一开始就有:题目要求把n辆车放到船的两边,要求船的两边重量相差不得超过2%(实际上有不相差1%的解),先计算出重的那边最多能装多重的货物,设这个值为MAXW,然后在0到MAXW之间设置若干小区间,用类似0/1背包的方式进行DP。经过不断的叠加,终可以找到在可行范围内的解。我设置的可行范围是总重量的一半 到 总重量/1.985(设成1.9
2012-03-13 21:54:27 759
原创 hdu 4002
这题是参照了别人的代码才弄出来的,WA得很惨烈其方法是求出一个由小到大的连续的素数相乘序列2*3*5*7*11...*x,使得乘积为小于n的这种序列中最大的一个。#include #include#include #define PRIMENUM 700#
2011-09-07 12:25:54 823
原创 hdu 4001 (2011ACM/ICPC大连网络赛)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=4001题意不多解释,说说思路:按照长和宽排序,排序后,前面的方块一定不能叠放在后面的方块上,而后面的方块有可能放在前面的方块上。然后DP找出最优解。详见代码:#include#includeusing namespace std;struct node{ int a,b,d
2011-09-07 12:15:19 2848
原创 hdu 1501 Zipper
<br />//这道题的常规做法是深搜。我这种方法有点深搜的思想,优点是不需要N^2的标记数组,但是代码量有点大,可改进。<br />#include<iostream><br />using namespace std;<br />char ch[2][205],ch3[405];<br />int len1,len2;<br />bool tangle(int i,int j,int k,int lasti,int lastj)<br />{<br /> <br /> while(i<len
2011-05-01 04:34:00 679
转载 计算机网络知识体系
<br /><br />知道自己的弱项在网络,特把知识体系放在这里,一边学一边参考对照。<br /> <br />网络协议组目录和索引<br /> <br />AppleTalk:Apple 公司协议组<br />IBM SNA:IBM 系统网络架构及其协议<br />Novell NetWare 及其协议<br />OSI 七层参考模型中的 ISO 协议<br />RFC:Internet 标准 (Request for Comments)<br />SS7/C7 协议组:信令系统 #7<br />SUN
2010-12-16 12:19:00 764
原创 6TH HUNAN COLIGIANTE PROGRAMING CONTEST -- PROBLEM D
Since I'm on the road to IELTS,all my articals in this period will be english!Here's simple problem in the hunan provincial.(uva 11880 Ball in a Rectangle)Well,the meaning for short , is to calculate the position of a ball in the table after moving a dista
2010-11-09 21:39:00 635
原创 fzu 1979 福州网络赛I题
题意如下: 给你一个字符串,要求最多翻转它的前缀k次使得其字典序变成最小,但是每次翻转的前缀一定要比前一次大。思路:每一轮翻转都记录前i个字符的最优翻转结果,状态转移可以由本轮前i-1个最小 f[s][i-1] 和上一轮的前i 个倒序最小 g[s^1][i-1] 再 翻转i个字符的较小者决定,当然也可能不做任何改动,就是f[s^1][i]。容易搞错的一个地方是,字符串的值最大翻转之后不一定最小!!比如DBCD CEBA翻转后是DCBD>ABEC。必须要倒序的最小才行。 #includeusing n
2010-10-12 18:18:00 1794
原创 2010acm/icpc杭州赛网络赛1001
我们这样的菜鸟也有机会上网络赛了,这次杭州赛算是发挥了水准,要数一点小小的瑕疵就是忘记把变量t改成int64的,导致WA2次先说说思路吧,先打一个素数表,把每一个底数分解因式,把含有素数因子i的数目加到aaa[i]上,这样就求出了总乘积M包含的因子以及这些因子的数量。接下来,只要枚举每一个因子,看满足含有aaa[i]个因子i 的最小阶,输出其中最大的一个。#includeusing namespace std;int prime[100],k,temp[100];bool sel[100];vo
2010-09-27 14:29:00 733
原创 hdu 1385 Minimum Transport Cost
<br />/*用floyd算出每两点间的最短路,用一个theta矩阵记录由 i 到 j 的中间节点中编号最高的一个,据此可以不断缩小寻找的范围,找到theta[i][j]=0时,就直接输出i-->j。print函数和path函数是类似的,就是找由I到j的路径。至于字典序的前后,只要把两条路径经过的节点用path()找出来,再比较一下即可。*/<br />#include<iostream><br />using namespace std;<br /> int i,j,k,map[1001][100
2010-08-11 11:27:00 527
原创 hdu 1494 跑跑卡丁车
Problem : 1494 ( 跑跑卡丁车 ) Judge Status : Accepted//每个赛段有两种选择:放N2O和不放,所有的能量状态就有15种,我们总是选择用时最短的,要注意最后能量爆满清零时也可能获得最优解。#include<iostream><br />using namespace std;<br />#define E 15<br />int main()<br />{<br /> long int i,j,k,m,n;<br /> long int aaa
2010-07-16 11:07:00 1177
原创 hdu1465 不容易系列一
<br /><br /> <br />递推,long long 型刚好够用<br />这里我只写出公式:输入为n,不同的情况应为:1!*C(0,N)-2!*C(1,N-1)+3!*C(2,N-2)……一直到n。<br />公式可化简为:对N!/I!求和(I=I,2...N)。<br />#include<iostream><br />using namespace std;<br /> <br />int main()<br />{<br /> long long aaa[21],sum=1;<br
2010-06-14 18:54:00 549
转载 poj1067/hdoj1527 取石子游戏
取石子游戏Time Limit: 1000MS Memory Limit: 10000KTotal Submissions: 17630 Accepted: 5338Description有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子。最后把石子全部取完者为胜者。现在给出初始的两堆石子的数目,如果轮到你先取,假设双方都采取最好的策略,问最后你是胜者还是败者。Input输入包含若干行,
2010-06-14 18:28:00 2295
原创 hdu 1146 Ferry loadingIII
//做这道题我知道了按规范行事的重要#includeusing namespace std;int main(){ int t,c,n,m,i,time,ln[2],lt[2],ont,bt,temp,llt; bool bleft,tleft; char ch[10]; cin>>c; while(c--) {
2010-05-22 21:12:00 908
原创 hdu 1233 还是畅通工程
//生成树第一道,prim算法#include#define maxweght 32767;int main(){ int i,j,k,n,x,b,lowcost[101],close[101],a[101][101],mincost; long int sum; while(scanf("%d",&n)&&n!=0) { sum=0; for
2010-05-09 13:53:00 564
原创 hdu 1211 RSA
//强烈晕倒,也可以说是不注意吧。scanf("%ld%ld%ld%ld",&p,&q,&e,&l)&&p!=EOF后面的p是不能做判断的,因为已经到文件尾了。这道题我用的是快速指数算法+欧几里得算法,经典的rsa,终于让我实在地领略了一遍。 #includelong int f,n,d;//快速指数算法,大意是把任何一个指数运算x^y的指数y分成2^n(n=0,1,2……)求
2010-05-09 12:13:00 760
原创 hdu 1028 Ignatius and the Princess III
这道题花了很长时间,应该是比较经典的题想一想,如果要求100的等式个数,就要把99不含1的个数,加上98不含1、2的个数,一直加到50不含1~49的个数再加1(100本身),而和为99不含1的个数恰好为99的个数减98 的个数,和为98 且不含1、2的个数等于98的个数减去97的个数再减96不含1的个数,由此得到一系列递推方式。#includeusing namespace std;int
2010-04-29 14:18:00 696
原创 hdu 1050 moving tables
第一次写编程文章,原因是看到很多朋友都把自己的代码发上来了,于是心潮涌动,想把我一些较好的代码发上来与大家一起交流切磋,还请前辈们指教。 这道题只要统计哪一段路重叠的次数最多就行了,有一个小窍门:读入的时候把起点指针加1,把终点后一个点减1,然后用一个计数器记录当前为止的最多重叠次数。#includeusing namespace std;int main(){ int a[
2010-04-29 14:14:00 526
802.11 spac 2012
2012-10-30
Android 绑定service失败
2023-10-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人