nyist
溺水行舟
这个作者很懒,什么都没留下…
展开
-
高精度阶乘(压缩5位保存)nyist28大数阶乘
#include#includeusing namespace std;int a[10000];int main(void){int i,n,w,up,j;while(cin>>n) { for(w=a[0]=i=1;i<=n;i++) { for(j=0,up=0;j<w;j++) { a[j]=i*a[j]+原创 2012-07-15 22:12:09 · 844 阅读 · 0 评论 -
nyist 82迷宫寻宝(一)(BFS)
题目连接:http://acm.nyist.net/JudgeOnline/problem.php?pid=82此题在基础BFS上加入了门和钥匙,要找齐所有钥匙才能开门,所以要对门特殊处理。1.先统计下各类钥匙的数量,再记下门的位置。2.进行BFS,遇到钥匙时,入队,计数各类已找到的钥匙,然后判断是否钥匙找齐,如果找齐,找到对应的门,如果门之前是否访问过,则门入队。(可能此门被障碍堵住原创 2013-08-08 10:10:29 · 1154 阅读 · 0 评论 -
nyist 202 红黑树(二叉树中序遍历)
旋转对中序遍历没有影响,直接中序输出即可。#include #include using namespace std;int n;struct Shu{ int left,rigth;}shu[1000005];int zhong(int id){ if(id>=0) { zhong(shu[id].left); cout<<id<<endl; zhong(s原创 2013-08-08 10:42:56 · 1870 阅读 · 0 评论 -
nyist 284 && poj 2312 坦克大战(变形BFS)
题目大意:这个题是以坦克大战为原型出来的题目,就是走迷宫的变种,给定一个地图mxn的地图,地图上有普通的砖B,金砖S,河R,空地E,和一个宝物位置T,和你的位置Y,求吃到宝物的最小步数(坦克通过普通砖B需要两步,空地E一步,不能通过金砖和河)..#include #include using namespace std;int n,m;int mintime[305][305];ch原创 2013-08-08 11:21:46 · 1234 阅读 · 0 评论 -
nyist 745蚂蚁的难题(二)(环面连续最大子串和)
此题是连续最大子串和(nyist 44)的变形,只是改成一个环状而已,由于数据量大,用枚举起点+加原来的求子串和的代码是两重循环,必定超时,但是我还是试了下,下面是有超时代码。 其实它只是在原来的情况上多加了一种首位想接情况,所以只需不管首位想接先求出最大和ans,然后求出首位想接情况的最大和ans1,取两者的最大值即可。ans1的求法其实和ans的求法差不多,试想一下一个环,你要是求得了不首原创 2013-08-17 11:05:02 · 1440 阅读 · 0 评论 -
nyist 737 相邻石子合并问题
http://acm.nyist.net/JudgeOnline/problem.php?pid=737动态规划状态方程:dp[i][j]=d[i][k]+dp[k+1][j]+(sum[k]-sum[i-1])+(sum[j]-sum[k])边界:0 if(i==j) dp[i][j]=0; sum[i]=前i个数的和。#include原创 2013-08-17 16:22:32 · 1357 阅读 · 1 评论 -
nyist 303序号互换(数学推理)
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=303思路:开始看错题了,以为最多只有两个字母。字母转数字的表达式很容易看出来是:(26^(n-1))*(s[0]-64)+(26^(n-2))*(s[1]-64)+……主要是数字怎么转字母,这应该是个数学问题。可是我想了好久没想出好方法,数学太差了吧。最好只好想个笨点的方法原创 2013-09-17 22:44:57 · 1530 阅读 · 0 评论 -
POJ1001(北大ACM1001&&nyist 155 )
高精度乘法,字符串处理 #include #include #include using namespace std; int s; void chen(char a[],char b[])//a=a*b { int i,j,k,l,sum,c[410]={0}; l=strlen(a)+strlen(b);原创 2012-07-16 12:46:51 · 1900 阅读 · 2 评论 -
nyist 吝啬的国度(二维vector搜索)
#include #include#Includeusing namespace std;vector m[100005];int a[100005];void f(int k){ for(int i=0;i<m[k].size();i++) { if(a[m[k][i]]==0) { a[m[k][i]]=k;原创 2012-07-25 19:14:33 · 734 阅读 · 0 评论 -
zb的生日(搜索)
这样搜索不错:#include#includeint a[10000];int dd;//用dd来保存最小差 void fun(int sum,int cur,int m,int i) { if (i<m)//最多选m个 { //假设cur为其中一个的分得的和,如,sum=67,cur=35,t1=-3; int t1=sum-2转载 2012-07-26 21:05:14 · 1903 阅读 · 0 评论 -
整数因子问题__nyist 478 月老的烦恼(1)
这样会超时:#include #include#includeusing namespace std;int a[500005];int main(void){ int t,i,j,x; memset(a,0,sizeof(a)); for(i=4;i<=500000;i++) {for(j=2;j*j<i;j++) if转载 2012-07-27 19:23:34 · 729 阅读 · 0 评论 -
nyist 105 九的余数
#include using namespace std;int main(void){ long long t,i,s; char a[1000005]; cin>>t; while(t--) { cin>>a; for(s=i=0;a[i]!='\0';i++) s+=a[i]-'0'; cou原创 2012-07-27 19:25:35 · 603 阅读 · 0 评论 -
整数划分(各种类型)nyist 571
1.将n划分成不大于m的划分法: 1).若是划分多个整数可以存在相同的: dp[n][m]= dp[n][m-1]+ dp[n-m][m] dp[n][m]表示整数 n 的划分中,每个数不大于 m 的划分数。 则划分数可以分为两种情况: a.划分中每个数都小于 m,相当于每个数不大于 m- 1, 故划分数为 dp[n][m-1]. b.划分中有一个数为 m. 那原创 2012-07-27 17:18:46 · 1389 阅读 · 0 评论 -
凸包问题——圈水池(nyist 78)
#include #include #include using namespace std;struct point{ int x,y;};int cmp1 (point A,point B)// 按y排序 { return A.y < B.y || (A.y == B.y && A.x < B.x); } int cmp2(point原创 2012-07-31 13:00:05 · 901 阅读 · 0 评论 -
nyist 119 RMQ
RMQ:http://blog.csdn.net/liang5630/article/details/7917702 #include #include #include using namespace std;const int N=100005;int minsum[N][21],maxsum[N][21];// f(i,j)表示i~i+(2^j)-1中最大或者最小值;原创 2012-08-28 20:55:58 · 1419 阅读 · 0 评论 -
有依赖的01背包问题( 金明的预算方案)
考虑到每个主件最多只有两个附件,因此我们可以通过转化,把原问题转化为01背包问题来解决,在用01背包之前我们需要对输入数据进行处理,把每一种物品归类,即:把每一个主件和它的附件看作一类物品。处理好之后,我们就可以使用01背包算法了。在取某件物品时,我们只需要从以下四种方案中取最大的那种方案:只取主件、取主件+附件1、取主件+附件2、既主件+附件1+附件2。很容易得到如下状态转移方程:f[i,j原创 2012-09-28 22:11:56 · 21441 阅读 · 7 评论 -
表达式求值(中缀式转后缀式,后缀式求值)NYOJ53测试通过
测试地址:http://acm.nyist.net/JudgeOnline/problem.php?pid=35package calc;import java.util.HashMap;import java.util.LinkedList;import java.util.List;import java.util.Map;import java.util.Scanner;原创 2014-11-10 20:27:13 · 1369 阅读 · 0 评论