学姐你那个主传动双公比怎么求设计还在不在,急需,我也是安工程的,求。。。。

求帮忙,,,,分级变速主传动系设计.
Ψ=1.26,Nmin=160r/min,Nmax=1600r/min,Z=16,采用双速电动机,双公比的传动系,理论分析与设计计算:(1)机械系统的方案设计。设计方案的分析,最佳功能_百度作业帮
拍照搜题,秒出答案
求帮忙,,,,分级变速主传动系设计.
Ψ=1.26,Nmin=160r/min,Nmax=1600r/min,Z=16,采用双速电动机,双公比的传动系,理论分析与设计计算:(1)机械系统的方案设计。设计方案的分析,最佳功能
求帮忙,,,,分级变速主传动系设计.
Ψ=1.26,Nmin=160r/min,Nmax=1600r/min,Z=16,采用双速电动机,双公比的传动系,理论分析与设计计算:(1)机械系统的方案设计。设计方案的分析,最佳功能原理方案的确定。(2)根据总体设计参数,进行传动系统运动设计和计算。(3)根据设计方案和零部件选择情况,进行有关动力计算和校核。谢谢大家的帮忙
有的 很多,是个人原创。美女私处鲍鱼图,不是每个网站叫暗暗撸
http://www.chinaskin,性交视屏,地方暴露在了他的面前。裴
友情链接:2011年10月存档 - Bysen32
- 博客频道 - CSDN.NET
删除到行尾: D
backspace: ctrl + h
当前行向左缩进:
当前行向右缩进: &&
查找当前单词的下一个位置: *
查找当前单词的上一个位置: #
跳转至匹配括号: %
跳转至当前单词的词尾: e or E
移动到当前行的a字符的前一个字符: ta
移动到当前行的a字符: fa
行小写: guu
行大写: gU...
brute force是什么意思?我去.. 暴力的意思... 还以为是禽兽之力呢.. 呵呵
int ans[111111];
int main()
int a,b,n;
scanf( &%d %d %d&,&a,&b,&n );
for( int i=1;i&=n;i...
这是我职业生涯的最后一题了。acm留给我的太多太多... 别了。
基本的就是用枚举+贪心。
但是有几个小问题:
1.七小对是七个不同的对子。
2.东西南北.. 等不能作为顺子。
考虑这两点,基本上就没有trick了。
int cnt[35];
int maso[14]={0,8,9,17,18,26,27,28,29,30,...
John Doe started thinking about graphs. After some thought he decided that he wants to paint an undirected graph, containing exactly
k cycles of length
A cycle of length 3 is an unordered grou...
第一次在ubuntu下写程序,鼓捣了N久终于可以写东西了.从安装操作系统,编译软件,编译环境...
感觉自己弱成渣渣了...
一道水题 调了N久...
各种悲催..
struct Point2D{ double x,y; }mesh[33][3...
题目大意:
从起点1到终点N的一个圈,最小路径花费。完毕。
构图跑两次spfa,完毕。
#define NN 1111
#define MN 11111
struct Edge{ int u,v,c,f,cost,...
终于切掉了我的第一道最小费用流了...
#define MN 222
struct Home{ int i,j; }H[MN];
struct Man{ int i,j; }M[MN];
struct Edge{ int u,v...
a^p=a%p;则称p为以a为基的素数。给定p与a,求判断在p不为素数的情况下,a^p=a%p是否成立。
#define ll long long
ll mul( ll a,ll b,ll mod )
while( b&0 )
if( b&1 )...
定义:如果m是一个正整数,且2^m-1是一个素数,则m必是素数.反之,如果m是一个正整数,素数且Mm=2^m-1成为第m个梅森数;如果p是一个素数,并且Mp=2^p-1也是素数,那么Mp=2^p-1也是素数,那么Mp就称为梅森素数.
Lucas-Lehmer判定方法.
设p是素数,第p个梅森数为Mp=2^p-1,r1=4;
对于k&=2,利用rk=((r(k-1))^2-1)%Mp,0
刚做素数部分,把以前不懂的题目搞定了。还不错。
#define N 50001
bool f[N],seg[1111111];
int prime[N],
__int64 rec[1111111];
void deal( __int64 L,__int64 U )
memset( seg,true,sizeof(...
代码能力是很重要的,像我,稍微复杂一点的题就做得想吐。
写了个200line+的代码,就已经写的想吐了。重新构思敲一遍得了。
最讨厌的就是无力感啊!
#define MN 555555
#define l Recnt&1
#define r (Recnt+1)&1
struct Node{ int next[2]...
这... 练练搜索吧... 自己写的哈希都不行.. 悲催悲催...
/********************
********************/
#define HashSize (1&&15)-1;
[哈希函数]
//1.第一种hash方法
typedef long long LL;
const int HashMax = 1000003;
LL Hash[HashMax];
//y,w为需要哈希的两个值
int MakeHash(int y, int w)
LL situ=(LL)y&&24|w;//定义哈希策略
LL big=situ%HashM
while( Has...
这题呢.. 以前也做过其中的一小部分。只是综合起来就不会了!
我会变得强大的!
思路很巧妙!加油!以后要多做做这种题目!
#define MN 111111
struct Node
}node[MN&&1];
int tree[MN&&1],tot,N;
int lowbi...
2012长春网赛的题目,光头了...悲剧.
现在知道做了。
分组为[a,b]区间内除k余m的分为一组。这样按组来更新就好了。
这题的突破点就在于k很小。
#define MN 50010
int tree[MN&&2][55];
int flag[MN&&2]...
一点点想当然的想法使得我WA了6次...
对线段树的理解又深了一点。
熟悉了加标记的操作。
#define MAXN 111111
int tree[MAXN&&2];
int flag[MAXN&&2];
void PushUp( int rt ){
tree[rt]=tree[rt&&1]+tree[...
先贴一个TLE的代码...
#define MAXN 11111
int gt[MAXN&&2],st[MAXN&&2];
int date[MAXN];
void pushUpmax( int rt ){
gt[rt]=max(gt[rt&&1],gt[rt&&1|1]);
void pushUpm...
由于自己做代码优化时,条件不清晰,两个变量写错导致WA了两次,不应该!
#define MAXN 222222
int tree[MAXN&&2];
void pushUp( int rt )
tree[rt]=max(tree[rt&&1],tree[rt&&1|1]);
很久没做线段树的题目了。自己想想延迟标记怎么弄...
#define MAXN 55555
int tree[MAXN&&2];
void pushUp( int rt )
tree[rt]=tree[rt&&1]+tree[rt&&1|1];
void build( int l,int r,int rt )
查了很多资料,看了很多课件..
这种NP难问题.. 确实什么轻易的解法... 长路漫漫。
直接求最大独立集的方法能写了,最大团怎么求呢?
另外吐槽一句:网上很多题解中都有最大独立集=补图的最大团。这没错。
但是,很多都有一句下面是求最大团的代码.. 我去.. 概念清楚了再来写题解好么.. 吐槽完毕.
Long Distance Taxi
Time Limit: 30000ms, Special Time Limit:75000ms, Memory Limit:65536KB
Total submit users: 11, Accepted users: 7
Problem 12523 : No special judgement
Problem desc...
D是图G的一个顶点集,对于G的任一顶点U,要么U是D集合的顶点元素,要么U与D集合的某一顶点相邻。那么D称为图G的一个支配集。
若在D中除去任何元素后,D都不再是支配集,则支配集D称为极小支配集。
称D的所有支配集中顶点个数最少的支配集为最小支配集D0。
r(G)=D0中顶点个数。称作G的支配数。
最小支配集一定是极小支配集;
任何一个支配集以一个极小支配集为子集;
G中所含的极小支配...
注意细节细节!!!
用网络流来做一定很轻松-.-
将多重匹配变为最大匹配,数据较小,可以过....
struct Edge
}E[111111];
struct SEG
int ptr[222],match[222],E...
struct POINT2D
double x,y;
}point[222];
struct Edge
}E[111111];
int match[222],ptr[222];
bool vis[222];
这题WA了很久很久,确定算法没错.. 但是还是WA了很久很久...
原因是Ace的初值没有赋值=.=
细节决定成败!!
struct Edge{
bool vis[66];
int ptr[66],match[66],E
void addE...
有很多出租车订单,标记了开车时间与起点终点。
如果出租车能在上一个订单结束后,并且在下一个订单的开车前1min到达起点,那么我们说,这两个订单可以用一辆出租车来完成任务。
转化为最小路径覆盖问题。
这里是有向图的最大匹配,可以用匈牙利算法求解。
struct SEG
int s,e...
一道很好的题目。
很多透明的矩形薄片平摊在平面上,每个矩形薄片有数字编号。
现在给出矩形薄片的边界与编号的坐标。
求出能唯一确定的矩形薄片的字母标号与数字编号。
很容易转化成二分图的题。
开始题意弄错以为是必须全部都唯一匹配则输出匹配序,不行则输出none.
现在的题意是求关键边... 不用删边,特判就好.
using namespace...
Time Limit: 1000ms, Special Time Limit:2500ms, Memory Limit:32768KB
Total submit users: 19, Accepted users: 16
Problem 12499 : No special judgement
Problem description
SG的模板题,不多说。
这里采用记忆化深搜优化。Time=15ms还不错。
struct EDGE
int ptr[1111],E
int sg[1111];
void addEdge( int u,int v )
E[Enum]...
再做有种亲切感,比SG简单多了.... 泪奔....
将同行两棋子之间的空格数视为某堆的石子数。
进行一次Nim就OK了....
int main()
while( scanf(&%d %d&,&N,&M)!=EOF )
这题在做的时候果断不会=.=
做了一晚上和一上午。当AC之后,感觉很爽!
给定一个集合,集合中的元素有w,h两个属性。在此集合中取出一个子集,满足下列条件:
A*(H-h)+B*(W-w)
其中h,w为取出子集的所有元素中最小的h和w.
求子集中最多元素个数。
朴素的办法为:
枚举 w和h,将符合条件的点计数,这样O(n^3)的算法过不掉...
1.不等式...
这题的实质上是最短路径问题。
大意:从1到N的路程总花费小于等于K的最短路径。
每条路有花费和长度。
依旧采用迪杰斯特拉的贪心思路,每次贪最短的,根据这个点来更新其他的点。
这题我没有注意的是加限制的优先队列的性质:
优先队列的元素保证都是到目标点的花费小于等于K的,这样下来,以长度为第一维度排序的优先队列,第一次到达目标点为终点的时候,此时的len即为所求。
我在这个点坑爹的TLE了...
题目大意百度来的。看不懂=.=
说科学家有奇怪生物,每两个会合并,合并后的重量为2*sqrt(m1*m2);
求最终合并的生物最小重量。
由于m1+m2&=2*sqrt(m1+m2);
所以每次在优先队列中取出2个元素,进行合并。保证最后的解最小。
题意没懂WA了一次。
double ma...
这是一棵普通的二叉哈夫曼树。
int main()
while( scanf(&%d&,&N)!=EOF )
priority_queue,greater & PQ;
__int64 ans=0;
for( int i=...
题目意思很吓人。经过分析之后就变成了一道比大小的题目... 囧~
class Point3D{
double x,y,z;
Point3D( double a=0,double b=0,double c=0 ){
x=a; y=b; z=c;
}A[111]...
从题意来看,是基本的SG函数应用,把刚学的set用进去优化,发现不行...
再看看SG的原理,网上大部分都是采用递归,而那些题解报告都是一把抄,嗤之以鼻..
下面是直接TLE的代码:
/*********************
*********************/
#includ...
题目大意:
Stan与Ollie两人博弈,Stan先手。
两人对当前数(初始为1)进行乘操作,乘数为[2,9];给定N,当某人第一次使得操作数大于等于N时,为胜利者。
由博弈原理:
设x为取到的值。
则x&=N时为必败态。
任何能转化为必败态的都是必胜态,所以[ceil(N/9),N-1]为必胜点。
只能转化为必胜态的都是必败态,所以[(ceil(N/9)/2),ceil(N/9)-...
最近每次做题都要看很多资料。看来是真的老了。
这题给定字符串,以及待编码的字符数,采用哈夫曼编码,编码总长度最短。求此值。
这题添加虚拟节点,使得最后的合并方便,也就是使得每次合并保证树中都大于T个。T为提供的编码字符数。
相当于每一个节点要么是空的要么是有T个孩子的。
设待编码字符为N,添加的虚节点个数为β。
那么对(N+β)进行一次合并-& (N+β)-T+1 第二次合并 (N+β)...
去年省赛原题..
今年基本上把线段树忘记的差不多了。今天又敲了一遍。发现自己的输入处理还不错。
这种类型的弱爆了线段树...
由于思想不细致,导致WA了很久,看来以后要细心一点了!
Time Limit : ms (Java/Other)   Memory Limit : K (Java/Other)
题目大意:
有给定的N个人,主角编号13,求最小的报数序号M,使得主角为赢家。
报数序列为1,M%N这样.. 1是第一个出去的
网上看的数学方法,各种感觉不爽!
觉得算法中最神奇的就是2分和递归了。美妙!
数学分析过程网上都有,不解释了。
int find( int n,int m )
Time Limit : ms (Java/Other)   Memory Limit : K (Java/Other)
Total Submission(s) : 10   Accepted Submission(s) : 3
Font: Times New Roman | Verdana | Georgia
Font Si...
文章不错,大家可以看看。
搞了半天原来SG函数这么简单,类比为Nim真是碉炸啦!
不太会写,将原理拿过来直接敲了。
bool cmp( int a,int b ){
return a&b;
int mex( int rec[],int cnt )
sort( rec,rec+cnt,cmp )...
HDOJ ;SG函数入门(不用也行)基本博弈的理解。
int main()
int n,list[1111];
memset( list,0,sizeof(list) );
for( int i=1;i=0;k*=2 )
一起做过类似的,如果是以前的我的话,肯定会从0状态开始,打个表搞起。
现在想到了另外一种方法,把箱子看成装满钱的,每人从里面拿钱,最多拿m元,拿到最后一张的获胜。
int main()
scanf( &%d&,&T );
while( T-- )
这题只是一只纸老虎。但是我确实被它吓到了。
你瞧瞧题中说的,一个堆可以分裂成两个堆,这么复杂的问题实在不会做啊!
准备搜题解,看看别人都是寥寥数句结题。于是我也赌气不看题解了,自己推。
照样设置T0,S0点。根据题意可知T0为必胜点,S0为必败点。
S1点:有且仅有一堆的数量&=2,这里为啥不用考虑分割堆呢?
S1能转变为S0点,主动权当然在面临这个选择的人身上,显然是必胜点。...
大概看了一种博弈问题的变化题,左边这个链接讲解的还是不错的。
Nim博弈大家都知道,就是有N堆石子,两人轮流取,每次在一堆中取任意个,取到最后一个的胜利。
现在的变化是,取到最后一个的算失败。
这怎么做?
首先我们定义:
对于N堆石子,每堆的个数为Ai(1
设C=A1^A2^...^An;
若C=0,则状态设为T,称为利他态。反之,设状态为S,称为利己态。
孤单堆,该堆的石子数量为...
B-Travel By Airline
Time Limit : ms (Java/Other)   Memory Limit : K (Java/Other)
Total Submission(s) : 24   Accepted Submission(s) : 1
Font: Times New Roman | Verdana | Ge...
Time Limit : ms (Java/Other)   Memory Limit : K (Java/Other)
Total Submission(s) : 123   Accepted Submission(s) : 13
Font: Times New Roman | Verdana | Georgia
E- Seven tombs
Time Limit : ms (Java/Other)   Memory Limit : K (Java/Other)
Total Submission(s) : 31   Accepted Submission(s) : 9
Font: Times New Roman | Verdana | Georgia...
摘自维基百科:
在数学中,托勒密定理是欧几里得几何学中的一个关于四边形的定理。托勒密定理指出凸四边形两组对边乘积之和不小于两条对角线的乘积,等号当且仅当四边形为圆内接四边形,或退化为直线取得(这时也称为欧拉定理)。狭义的托勒密定理也可以叙述为:圆内接凸四边形两对对边乘积的和等于两条对角线的乘积。它的逆定理也是成立的:若一个凸四边形两对对边乘积的和等于两条对角线的乘积,则这个凸四边形内接于...
大意是说将凸多边形顶点按逆时针排序,起点是原点且没有第二象限的点。
/***********************
*Creator:Sevenster
*Time: 13:47*
*PID:POJ 2007
***********************/
第一次用运算符重载,代码清晰多了。
已知两边,求组成平行四边形的第4点。运用向量相加性质。
有trick,公共点不一定是给出的第二点和第三点,自行判断。
/************************
*Creater:Sevenster
*Time: 12:05 *
*PID:POJ 2624
***************...
so water....
/*************************
* Creater:Sevenster
* Time: 15:14 *
* PID:POJ 2318
*************************/
class CP...
求长方体上两点表面距离。
用到了比较神奇的递归,很有趣。学习之。
将1点旋转至XOY平面,再用递归四面展开,限制步数,得到最近的距离。
/*********************
* Creater:Sevenster *
* Time: 13:28
* PID:POJ 1444
*********************/
#include...
下班在写.......
【题目大意】
判断两条环形字符串是否相同。
将待匹配串复制一份接在后面,再用模式串做KMP,若能找到说明为同一个串。
蛮久没写KMP了,算法忘得差不多了..
char t[222],s[444];
int next[222];
void setNext()
【题目大意】
给定一个无向图,求出图中的最小环。并输出最小环的个数。
【解题思路】
1.朴素算法。
对于边e(u,v),除掉e之后的最短路径mind(u,v),那么最小环则为mind(u,v)+e(u,v);
 一个环中的最大结点为k(编号最大),与他相连的两个点为i,j,这个环的最短长度为g[i][k]+g[k][j]+i到j的路径中,所有结点编号都小于k的最短路径长度...
[题目大意]
给定一个无向图,求出这些边(至少出现在一棵生成树中的边)的数目。
[解题思路]
理解MST的思想,将贪心思想运用。
由小到大遍历这些边,权值相同的为一组。
先判断这些边是否能够成为树边,再对这些边进行合并。
[注意事项]
不知道为何,以前一直写的模板不顶用了...
一定要改成比较丑的样子...
【题目大意】
有一条一维的山脊,山脊上有FJ的牛,每头牛都有自己的领地[Si,Ei]。
如果有[Si,Ei]包含于[Sj,Ej]且不完全相等。则说J牛比I牛强壮。
现在FJ想知道对于每头牛,有多少头牛比他强壮。
【解题思路】
利用树状数组解区间问题。
按e的降序排列,e相等时,s小的在前。这样通过查询s可以知道区间的情况。
按s的升序排列,s相等时,按照e的降...
题目大意:
有一个R*C(R
现在求:在每列恰巧取一个,每行最少取一个的取法,按列的顺序由小到大输出取出棋子所在的行。
我的思路:
由于每行最少取一个,可以先把行的最大二分图匹配做出来,如果行都不能满足,肯定是无解的。
若行能匹配,再在流图中找到匹配的路径。
那么所有的行都找到了相应的列。那么余下的列随便匹配就好了。
网上思路:
用带上下限的网络流来做,基本上做到这种专题了。但是想...
这题还是有点技巧的。
我们求出了最大流,怎样知道哪些边可以使得流量增大呢?
若存在e(U,V):S-&U路径上的点都有剩余容量,V-&T路径上的点都有剩余容量。
如果有某条边为上述情况,那么对边e进行扩容,最大流增大。
应该十分好理解吧。通过源点进行DFS寻找S集合中所有的点进行标号,很容易。
那么...V到T可达这怎么弄呢?
同样我们通过T来DFS只要存在点V到T有剩余容量,...
这种题目做过蛮多道了,主要是再练习一下我的网络流链表写法。
这题坑爹的理解错题意了,弄了很久。
有M个房间,现在要保护N号房间,房间编号为[0,M-1]。起初所有的房间的门都是打开的,房间内有关门的控制面板,也就是说,如果该房间能控制几个相应的门,则从该房间可以通过这些门去往其他房间。如果控制面板在其他房间里,这门就不能在这房间里打开。
现在要求的是关上最少的门使得要保护的房间不被...
基本的最小割问题做得也差不多了....
这题整死我了.... 
在Amber的论文里有这个解法,大家去看看吧。
其他的不说了。
这题把数据类型全都改成long long才过,瞪大眼睛找了一晚上,没找出trick.... 悲催.... 
如果你也WA了,不妨试试这种方法... PS:我连bool都改long long了= =|||
#define...
题目大意:
有一台双核处理器的电脑,现有很多模块,每个模块放在不同的核中都有一个花销。若某两个模块不放在同一个核中执行,那么会产生额外的花销。
求出使得所有的模块都进入处理器中的总花销值最小。
首先可以明确的是,该题为二分图,模块放入两个核中。
如果没有惩罚。
那么该题就是赤裸裸的最小割(其实是贪心)。
源点S与Acpu中的点连边,容量为模块放在A核中的费用。
B核中的点与汇点连边,...
这题WA得我SB一样.......竟然是声明了一个函数没有调用.....
在联系网中,去掉最少的联系点使得从S和T无法联系。
赤裸裸的求最小割点集的问题;
网上都有,就不说了。
怎样找割点呢?在这里变成了割边。
上一题POJ2125用的是DFS,找到集合S,那么分跨S与T集合的边就是割边了。
这么做,对于二分图还是很方便的。这里却行不通了。
前面讲过独立轨的概念,...
做这题还是看了Amber大神的论文...
还是在这里冗余一下吧:
点覆盖集:无向图G的一个点集,使得该图中所以边都至少有一个端点在该集合内。形式化的定时意思点覆盖集为V'∈V,满足对于所有的(u,v)∈E,都有u属于V'或v属于V'成立,即至少一个成立。形象的说是若干点“覆盖”住了与他们邻接的边。这些边恰好组成了原边集。
最小点覆盖集:   在无向图G中,点数最小的覆盖集。
最小点权覆盖集...
题目大意:
火星人入侵地球,他们降落的区域为一个n*m的矩形兵工厂,在这个区域行顶点和列顶点处有激光束,激光束一次能消灭一排或一列的敌人。为了消灭所有入侵的火星人,求最小的花费。每安装一个激光束都有一个权值,花费所有激光束权值的积。
如果不考虑到点权值,如POJ3041,每个点权值都为1,也就是求最大二分图匹配了。
用匈牙利或者网络流都很好做的。
so... 但是这题求的是最优点...
hev神让我做做这题... 
大概我们可以用一个二维的单调队列来写的。
用两个矩阵来记录大矩阵的部分最值。
例如用A[i][j]来记录mat[i][j]---mat[i+r-1][j]这一列的最小值,用Mi[i][j]来记录A[i][j]--A[i][j+c-1]这一行的最小值,于是乎Mi[i][j]就是mat[i,i+r-1][j,j+c-1]这个r*c的子矩阵的最小值了。
我的代码相当...
其实这题水题本来不打算写的,晚上看了下题解,发现和我那时TLE N久的代码是一样的。
后来才发现我把最小值ans初始化:
long long ans=(long long)1&&60;
int index=0;这样的最小值不够大,导致后面的数乘起来比这个最小值还要大,导致了没有更新index 而index又是0,在我的3个if中溜过去了... 伤不起啊...
导致了死循环... 太坑...
最近写的代码都挺长的啊...
下面说一下最小割吧。
以下内容引自:这里
首先介绍一个概念:
点连通度:一个具有N个顶点的图G,去除K个顶点后,图成为非连通图,去除任意K-1个顶点后,图仍为连通图。责成图G为K连通图。
独立轨:A,B是图G中两个顶点,从A至B的无公共内顶点的路径叫做独立轨,其最大条数记为p(A,B);
如上图中,将A=1,B=5;那么该图的最大独立轨数量为3...
这是一道YY题= =...
确实.. 做这题我就是YY出来的。一交没想到1Y了~ 哈哈哈~ 笑死我了~
树状数组再练一道就罢手!
int c[15555],n,lev[15555];
struct point
}p[15555];
bool cmp1(...
比赛中做出这题来让我开心了好久啊~哈哈~温习了一下树状数组。
开始惊奇和雄爷爷和我说树状数组没有这个性质,我不信。后来码畜来之后,才发现,确实树状数组确实没有这么个性质。
于是开始用vector做= =TLE.... 还好想出了二分这个好办法... 1234ms AC了... 嘿嘿...
其实我还是挺膜拜那些4500++的code...
using na...
上课前看了下题,上课时构了下思,下课敲了10min... 交了就A了... 好吧.. 这题弱爆了!
题目大意:
求一个数列中的逆序数....
这题可以用坐标离散化。然后... 从大的数向树状数组更新.. 查的时候求和,把这个数前面的大的数求出来就OK了。
水爆了... 1Y
struct n...
思路构图还是十分的好想的... 比较的有经验了。对这题,没啥难度了。
FJ有很多田地,一些田地有雨棚,雨棚有容纳牛的容量,现在给你田中的牛和田里的雨棚的容纳量,还有田间路径走完花费的时间。
要求出使得所有牛都躲进雨棚里的最小时间。
构图还是很简单的:
将牛棚拆点为in和out点。
源点到in容量为牛棚中牛的数量,out到汇点为牛棚的容量。in--out为无穷大。
二分枚举...
虽然以前做过最短路径的条数问题,但这个问题有点奇葩,在最短路径数量中,路径不能重复使用= =....
如果可以重复使用还是很简单的,用dij去推就好了。将起点赋值为1,向相邻的边推自己,如果0-&1有两条边同样短,那么.. 0-&1就推两次,所以0-&1就有两种走法。
这题不同,路径不能重复,so... 我们可以这么想;
找到最路径中用到的边,将边的容量赋值为1,这么流过去,从起点到终点流这...
这中类型的题做过两道了,所以一见题就知道思路了。不过这题的输入比较恶心,还好能应付。
本来不想做这题的,但是看到数据也还大1500个点,想用链表试试,先敲了个二维数组,等待TLE的过程中1Y了....
何其蛋疼!1500ms 不算快...
#define CC(a) memset(a,0,sizeof(...
高级网络流建图啊!
起初看这题,直接吓尿了... 不会....
思路看这里......
很不错的分析啦。
一点点二逼的错误,让我找了好久!很久没这么二了!一个大于号打反了.. 还有一个变量没有初始化,我去!样例都让我跑对了!
#define MN 222
#define ME 1111
#define...
一如既往的,我又把题意看错了....
题目大意:帝企鹅喜欢群居,现在有N块浮冰,给定企鹅跳跃能力D,给定Xi,Yi作为二维坐标,Ni为该浮冰上有多少企鹅,Mi为该浮冰上有多少企鹅离开后会破裂。问是否所有企鹅能否完成群居。
如上面这组数据,0,3,4浮冰上有企鹅,每块浮冰都能让一只企鹅离开。...
题目大意:
组成acm电脑有3个零件,4种机器;
1号机器能产生15次,需要的3个零件:完全不需要(0:不需要,1:一定要,2:可要可不要);产出材料:产出一个单位的2号零件(1:生产该材料,0:不能生产该材料);
2号机器能生产10次,不...
真亏HH神犇能想出这种恶心题!而且题目描述还这么坑爹!
奇偶不说清楚!
char str[1111];
char l1[111];
char l2[111];
void work()
len=strlen(str);
int index[26]={21,22,23,31,32,3...
题目大意:
某人有很多宝石,各种颜色和形状,该人有超能力能改变宝石,使之变化一种颜色及形状。该人要送宝石给女友,他忍受的每种形状的宝石有上限,女友忍受的每种颜色的宝石有上限。求能否使得该人送宝石给女友,使得两人都满意?
本来我的思路是错的。如下面第一个代码,我这么写:
BF先让自己尽量忍受同形状的宝石,再将不能忍受的流向女友,当自己可以满流的时候,也就是自己完全能忍受,女友...
这题的技巧就是:枚举---旋转卡壳法。
题目大意:
每头牛对每个谷仓有一个喜欢程度,FJ的目的就是要使得每头牛的happy值尽可能的相同,求最小的范围。
这题的枚举还是很有技巧的。虽然知道怎么来滑动窗口。。 但是我的网络流EK算法太不给力了!
没办法.. 去学习了下SAP勉强把这题切掉了= =
#define MN...
网络流好题:
这道题目的大意是这样的:
有 M 个猪圈(M ≤ 1000),每个猪圈里初始时有若干头猪。
一开始所有猪圈都是关闭的。
依次来了 N 个顾客(N ≤ 100),每个顾客分别会打开指定的几个猪圈,从中买若干头猪。
每个顾客分别都有他能够买的数量的上限。
每个顾客走后,他打开的那些猪圈中的猪,都可以被任意地调换到其它开着的猪圈里,然后所有猪圈重新关上。
问总共最...
这题还是很有意思的.. 哈哈~
也想了我蛮久的... 但是这题的无向边感觉有点不对劲啊!这也能AC??我都不相信啊!!
网络流的边还是不能轻易覆盖的!
#define MN 222
#define INF 1111111
struct EDGE{
这题的题意佷坑爹啊。。。虽说是很明显的二分题。
说有K个奶牛机编号1-K,有C头奶牛,编号k+1-K+C这样形成了K+C阶的距离矩阵。每台奶牛机可以处理T只奶牛
开始呢... 只把机器和奶牛连了边,机器与奶牛的边全部去掉了... 无限WA...
后来想.. 如果流通过机器之间传到奶牛呢= =!!!有剩余流就可以做到了!
顿悟,狂敲,交... 无限WA....
后来看了看题,机器之间的流不...
so.... 输入考验功底啊... 还好,没难倒我~哇哈哈哈~
#define MN 111
int n,f,e,d,ans,s,t;
int map[MN][MN],que[MN],a[MN],vis[MN],pre[MN];
void setG()
int i,u,v,c;
昨晚躺在床上想这题怎么构图呢....
开始的时候想的是源点到牛的流量为2(限制牛只能吃1喝1)。再而牛与吃喝直接连边,容量为1.吃喝拆开成两个两两直接连边,容量为1,保证每个吃喝只有一次。再末端吃喝连边到汇点。这种想当然的思路我竟然开始敲了代码!!真是... 
上面的构图有明显的错误,因为牛可以吃2个或者喝2个,这是我的图不能控制的。
转而想... 将每头牛拆成3只,一头容量限制容量为2,一...
赤裸裸的网络最大流...建图还是没有什么技巧的... 继续水...
#define MN 444
int s,t,ans,w[8],S
int map[MN][MN],vis[MN],a[MN],pre[MN],que[MN];
void setG()
Sum=0;s=0;ans=...
用的FF算法,裸实现516ms++,记得当年的二分图16ms啊....
这里发两个模板吧,网络流才初学.. 弱爆了....
#define MN 422
struct edge
{ int f,c; }g[MN][MN];
struct node
{ int l,p,a; }list[MN];...
看了三天的网络流,总算是切掉一道题了... 
还是要安静下来耐心的,自信的切题啊~~嘿嘿~
struct edge
{ int f,c; }g[222][222];
struct node
{ int l,p,a; }list[222];
int N,M,ans,s,t;
void init()...
题目大意:
从字典中选择N个单词,然后确定开始单词S,结束单词T。
A,B两个人轮流选择单词,在K次内,先手A从开始单词S出发回到结束单词T的次数。
用单词作为状态转换,用map映射。
当a单词的最后一个字母与b单词的最前一个字母相同时,则a状态可以转化至b状态matrix[a][b]=1;
接下来要处理的就是K次内这个问题了。我们可以很简单的得到如下的
M+M^3+M^5+M^7+M...
很神奇的4720msAC....
看来double 不是一般的慢啊!!哎呀呀~
#define eps 1e-5
struct node
{ double m[222][222];
}res,temp,
int n,m,t;
node matriXmult( no...
发现只要有思路还是比较好切题的。
相信大家不出意外,对于下面这个矩阵还是好构造的。
第0排代表第0号格子的机器人,可以到达个格子,可见2号格子是不可达的。
这个矩阵的N次幂,就是机器人走多少步形成的局面。
上面矩阵的2次幂:
可以得到上面的矩阵,这是什么意思呢?
第0排的3表示0号格子的机器人通过2步有3种方法到0号格子。
哪三种?0-0-0,0-1-0,0-3-0。就这...
请看下面的转换图:
其中红线表示非法转换,蓝线表示合法转换。这样就可以构建4x4的矩阵了。
接下来快速幂...ac。
struct node
{ int m[4][4]; }res,temp,
node matriXmult( node a,node b )
很少有人过的神题啊... 其实也不难啦。。
用dfs构建矩阵... 
然后矩阵N次幂就好了。
因为很多机器人都是一样的,注意状态转移只有8种。
  1      2     3     4     5     6      7
|11| |20| |21| |21| |22| |30| |31| |40|
|11| |02| |10| |01| |00| |01| |00| |00|...
这些天刷了蛮多的矩阵题,感觉对思维的训练还是很大的,一向不喜欢做题的我这几天被惊奇郭虐菜了...
果断跟进做题!
题目大意:
有一排数列用0,1构成,若当前数的左边为1,则当前数改变状态这样转一圈。为一次。
那我们就可以这么构造矩阵了。
先看这个矩阵:
用A=[101]去乘,可见第一列的1与A最后的1有关系,也就是左边为1状态改变的意思。...
题目大意:
有N个人,手上有Ai个标记,该人可以向指定的K个人添加标记(自己标记不会少)。
当该人手上有奇数个标记的时候,拥有投票权。问,最后有多少人手中的票为奇数个。
思路。以输入样例一为例:
初始状态矩阵:A=|210|
状态转移矩阵为:
     |111|
     |100|
于是乎第一轮结束后的状态:(A*B+A)
第二轮结束后的状态为:...
很有趣的题哈~很久以前看了matrix67大牛的相关博文,对这个题有点印象,但却不知道怎么做。
昨晚睡前构思了一下,还到老胡电脑上试敲,当然得出来的答案怪怪的。
一直记得是从0-&0的方案,可是输出矩阵得出的却是15-&15的方案....
下面说一下思路吧:
我们假定给出的4*N的瓷砖为
第N-2排放满有如下15种情况。0代表没有瓷砖,1代表有瓷砖
第N排     0000   000...
看来还是要吧这个矩阵乘法理解透啊!
我的题解大体和网上的一样吧。没有什么可取性。
对于矩阵,我们熟悉的操作有两种,交换与置零。
我们有初始的矩阵T[ A,B,C,D ];
交换矩阵为
                       | 1 0 0 0 |       
[ A,B,C,D ]  X  | 0 0 1 0 |  =&[ A C B D ]...
这题WA了.. 实在找不出错,CP了很多AC代码,大数据都是一样的。
哪位大神行行好帮我看看哪错了吧.....
#define kind 26
#define MAX 100
struct node{
int next[kind];
第二次做这个题了,犹豫再三还是交了,果断秒A,嘿嘿~感觉不错啊~
下面说一下思路:
对原矩阵A构造一个2n*2n的方阵。E为单位矩阵,0为0矩阵。
这个矩阵的平方为:
| A^2 A+E |
| 0      E      |
右上角的A+E就是A^1+A^0就是前两项的和。
通过这个构造矩阵的K次方,右上角的N阶矩阵就是前K项和,这前K项其实是0...
这题要写的东西很多,以至于我不知道从哪里开始写了= =。
总之要正确理解AC自动机中的状态转移。时间比较晚了,早点回去... 
我要注意的地方就是正确理解fail指针的作用。在失配时,fail指针如果走向的是一个病毒节点那么改节点的转移也是病毒节点。不能转移!
另外要注意的就是mod十分的耗时间啊!两次TLE都是出于此....
总之是一道好题
刷了3天的字符串匹配题。
为了下面继续切题,小的先小结一些。
字符串匹配的最基础算法是枚举(n^2)。
高深一点的是KMP。
KMP在数据结构课上学过,由于老师只是负责教学,不负责解答他不懂的问题,于是KMP就这么被我搁置一边了。ACM这么多年了,一直不懂这些基础的算法,实在有愧与心。
于是乎专程学习了一下KMP。
先说说KMP的主要思想。KMP用于模式串的匹配。
下面看看一个字符串...
最后一道模板题。
下面把AC自动机小结一下。请看新文章.....
这题如果只开26的next的数组的话。
在查询大串时,要注意的if( s[i] )当不符合条件时,不能浅显的continue,而要把p=
不然..... 那些在A-Z之外的字符会直接略去,相当于大串中没有A-Z之外的字符,结果可想而知!!
#define MA...
第二道AC自动机。和前面那道没有什么不同,都是基础的AC自动机模板。
题目大意:
有一些病毒序列,在主串中找到所有的病毒种类即可。
求出每个网站携带的病毒种类。
最后输出有多少个病毒网站。
还好输出不坑爹!
#define MAX 128
struct node
整整一天半都在弄AC自动机,我的第一道AC自动机。
DEBUG N久竟然是题目意思读错了!
题目大意:
给定N个单词,和一个模式串,求在单词模式串中出现的次数。
解题思路,先构造字典树,再对字典树进行AC自动机。
我DEBUG N久.... 原来AC自动机都是构造的对的!
题目要注意的地方。
1.单词可以重复出现。
2.只是问最多有多少个单词出现在模式串中,最多为单词数N个。
这题的难度和前一篇的裸模版差不多。
题目大意就是看字符串是否是其他字符串的前缀,
其实就是在字典树中查看最后一个节点的count数是否为1.
若为1,则代表该字符串唯一。
若不唯一,则代表该字符串被其他字符串完全包含,不就是前缀么!
水过。。。
#define MAX 10
再做几个字典树就去AC自动机...... 加油!
用模板感觉不错啊!!细节细节!!
#define MAX 26
struct TireNode
TireNode *next[MAX];
TireNode Memeroy[11...
以前也写过字典树,觉得自己写得很不好,很水很弱,虽然也ac了。
网上看了下别人的模板,果断学习之.......
#define MAX 26
struct TrieNode
*next[MAX];
TrieNod...
前面做过类似的题了,所以切出这个来也很简单。
关于KMP的小应用,KMP的next数组的作用就是用来记录前面的串的状态的。
可以用Len-next[Len]得出当前点的循环节。。。
这个还是很好理解的。
好了KMP在切掉POJ的就在此告一段落了。。。。
char t[111111];
int next[111111];
匹配用的KMP,另外+DP存储状态;
DP数组f[i]代表当前前缀可以匹配的次数。
f[i]=f[next[i]]+1;为next[i]--i的的前缀的数量。
计算总和即可。
char t[222222];
int next[222222],f[222222];
void setNext()
char s[1111],t[1111];
int next[1111];
int lenS,lenT;
void setNext()
int j=1,k=0;
while( j&=lenT )
终于会KMP了... 哇哈哈哈~
int T,N,M;
int next[11111];
int s[1111111],t[11111];
void setNext()
int j=1,k=0;
while( j&=M )
if( k==0 || t[j]==t[...
果断吃果果....
char s[1111111],t[11111];
int next[11111],lenS,lenT;
void setNext()
int j=0,k=-1;
next[0]=-1;
while( j&lenT )
题目大意:求给出串的每个前缀串的重复次数。
1.aa中前缀a出现2次。
2.aabaab中前缀aab出现2次
3.aabaabaab中前缀aab出现3次
4.aabaabaabaab中前缀aab出现4次.
大概就是这么个意思。
这里利用了kmp中的next标记的性质。
看看这个字符串
下标:1  2  3  4  5 6  7   8 9  10...
容斥刷不动啊!!今天十分的邪恶加猥琐的注册了一个小号和大一的孩子们一起做题;
也没有要和他们比赛的意思,只是我对算法有很多不熟悉的,所以呢....哎 我的号交几个题,小号交几个题。
做都做了,不管了。
晚上花了一个半小时才看懂的一个算法Manacher,专门用来做回文的....
网上其他的人写得佷详细了,我还是说说自己的吧。
Manacher利用了回文的性质。
假设有一个回文以id为中...
WA了N久N久... 最后发现原来是自己有些特殊情况没有存好。
一个条件读入的数据要符合(1,N)这个区间范围内....
在处理的时候没有处理好,天真的没有排除,只是当有这样的数据的时候跳过.... 当然... 悲剧发生了= =
无限WA.....
使用容斥原理...
容斥原理就不讲了..
我用的位运算做的...等会儿再用dfs做一下....
今天上午终于把最后一题D题水掉了。我的二分也算是AK了了吧。
这题可以说我还是有版权的,嘿嘿~~越来越有意思了!
说一下怎么做吧。
听说有公式就试着自己推了一下,感觉不错呢。
首先我们可以看出
a1=1,a2=3,a3=6. 很显而易见的an=(1+n)*n/2;
那么Sn怎么求呢???Sn=∑an=(1/2)∑(n*n+n)=0.5*(∑n*n+∑n);
这样就转化为连续自然数平方...
比赛中切掉的... 代码很冗余,没怎么仔细想总之,是一个最长升序子序列的题啦。
struct node
char line[25];
int count[27];
}date[11111];
bool cmp( node a,n...
去年网络赛没做出这道题来...真是惭愧惭愧啊...
恶补了一下二分,感觉难度和for循环差不多。
等把五个二分题AK后,用hash再来做一边吧。
补习中....
思路:二分查找渡河最小能力值。用能力值来渡河...
正确判断算法的时间复杂度可以省很多代码时间的啊....受教了....
本来做题使用的两次二分,比较依据为跳跃次数。后来发现不需要两次... 一次即可..
#include...
没想到上次做这个题恰巧是一年前啊....
当年被这题虐了,不知道怎么做,记得自己还佷傻逼的画了个矩阵...还是没有想到做法,上网看了下思路,说是二分,
但是码畜还是不会这题啊!!!
今天做了一下,发现很水= =。当年我是有多傻逼啊!!!
直接二分半径,找到输出就可以了。
果然浮点型的二分和整型的二分还是有不同的,多多练习一下吧!加油!death_acmer.
简单的二分.. 不过写挫了... 我算成了16W... 丢死人了...交题果断RE,还百思不得其解....
后来改掉之后果断TLE了,自认算法没错,难道是函数调用的关系?
对比了一下AC程序发现在二分查找的过程中有一个break条件没加...
改掉之后ac了。另外发现sort的cmp调用十分的占时间。按照默认的升序sort吧,这样省时间。
以上为题解.
下午练习一下二分吧,感觉写得很挫....
用A和B两个数组的和作为一个附加数组,求Ai+Bj+Ck=X只需要去搜索A+B的和为X-Ck即可....
int sum[255555];
bool cmp( int a,int b ){ return a&b; }
int X,Y,Z...
一道水题,关键是要敢做....
枚举两个点,做直线,作为正方形的一条边,然后由一条边可以确定另外的两个点。可以形成两个正方形,再用二分查找找出这两个点是否存在,若存在则方形个数++。最后答案除以4就可以了。时间不怎么好2844ms... 等会儿多用几种方法优化一下....
using namespace...
这题好玩!对这种图形递推题终于攻破了!哇哈哈哈!
就是递推找规律!好玩啊~
int main()
__int64 f[1001];
f[0]=f[1]=1;
for( int i=3;i&=1000;i++ )
f[i]=f[i-1]+f[i-2]*4;
int len=1;...
好好琢磨一下吧 DP....
int min( int a,int b ){ return a&b?a:b; }
bool cmp( int a,int b ){ return a&b; }
int powsum( int a,int b ){...
看来还是需要好好理解背包的含义啊!
本来鄙人写了3600+的代码,各种悲剧。果然还是对背包的理解不深啊!
看过人家的代码后才A出来.....
int dp[111][111];
int max( int a,int b ){ return a&b?a:b; }
int max( int a,in...
前几天对这题编了码。自己本地都跑不过。罢了,谁叫我不会做呢= =。
今天被树形DP虐了,没想法了= =。回头准备切切这题。分析了一下特点:
总共要学习N天,每门课程学习的天数都有不同的价值。在每门课程中只能选择一个指定的天数来学。
Wait!!! 怎么感觉好像分组背包的描述!
背包容量为要学习的N天,每门课程为一个分组,分组中每个物品的代价是学分,花费是学习的天数。
而分组背包为:在每个...
算法比较容易想到,每次做背包操作都会产生值的。记录下排序就好了。不过关于排序的问题我倒是wa了很久,本来开个3维数组把所有的解都记录下来,然后排序取出K大的就好了。但是却wa了= =没办法,看网上的题解吧。大家的方法和我想的差不多,也是对每个背包维护k个最优值。解法还是网上的,我就不废话了。
就是记录2K个值,然后归并在一起。我的想法没错啊,为嘛WA呢=3=
网络上题解很多。我就不乱说了。
首先分组背包的原型:
给物品分组,容量为V的背包,每个分组内的物品互斥,每个分组最多取一个物品。求最大值。
代码很简单:
for( int i=0;i=0;j-- )
for( int k=0;k&total[i];k++ )
f[V]=max( f[V],f[V-cost[k]]+value[...
消极题解凑数= =
话说今天的水题有点多了= =
本来想用最短路做的,但是不想那么麻烦,滚动数组也不想用,能水就水吧。记得以前做过一道类似的,不过是走路方针可以斜线,飞跃什么的,各种神。不过是BFS+队列罢了+GCD 罢了罢了还是水,不说了....
int max( int a,int b ){...
哈哈~这题秒掉了,总的来说这些天的DP苦修还是有点成果的。哇哈哈哈。
做题过程大概是这样的,前几天看了下这题,完全不敢切,果断的没思路。今天再一看,在纸上用笔演练了下,发现基本上能推出公式了。呵呵,蛮好玩的么,DP,虽然只是道水题,但是也说明了我在进步啊~ 哈哈哈
int min( int a,i...
自认为相当正确的代码,交上去TLE了。以为是自己的方法错了,从昨晚开始想,到底错哪了?昨晚上看到了熟人的代码,依然大牛。网上的解法大多是正反向最短路+枚举折半边。这样得出。但是我的代码是:用dist[x][0]记录到x点使用折半票的花费,dist[x][1]记录到x点全票的花费。这样dp方程就很容易出来了... 自己想吧。
今天下午改了改,发现这题光读入数据就要3600ms++,最终发现是我的s...
水题。不过还是让我wa了几次。原来是在于初始化的问题。罢了罢了。想清楚还是很好的。
去食堂买菜,最贵的是一定要刷卡的。留着刷吧,然后让其余的尽量接近5块钱就好了。和其他人的代码有点不同... 本质是一样的啦。
代价和话费是一样的和那个BIG EVENT AT HDU那题一样。这种解法知道怎么做了。继续切。。。。
using namespa...
囧爆了!!! 莫名其妙的就ac了。因为前段时间做了一道类似的题目,大概是出国留学的概率问题。和这题很像。然后凭借记忆把这题给敲了,一交就过了!我勒个去!不带这么玩的!!!果然做题多还是有点点好处的= =。话说题目我都没怎么看懂呢= =
DP切不动了。
记录一下题意吧:
J题:题意没看懂= =,下次再看= =
K题:01背包的第K优解... 雷死哥了!
L题:分组背包的变...
算是树形DP的入门题吧。学习了一下人家的代码过的。在网上看了几种版本。果然还是dfs遍历树好啊。树形结构用指针来建的话可以省去很多麻烦。另外这题不能赤裸裸的从叶子节点更新,因为根是可以选择多个叶子的。没用完一个叶子,就必须把相应的父亲节点更新。还不错的题。
#define MAXN 222
一道很水的二维DP,但是对于DP没有什么感觉的我来说,真是辛苦了。
这么来。[疲劳值][怪物数量]=经验值。这样保存的当前疲劳值获取的最大经验者。
dp[i][j]=max( dp[i][j],dp[i-m_pl[k]][j-1]+m_exp[k] );
当经验值满足升级的条件就可以了。
第一次遇到这样的题,平分= =,还要回去好好想一下...
这么水的... 不懂啊= =
int main()
int a[101],c[101];
int DP[100001];
while( scanf( &%d %d&,&n,&m )!=EOF )
没做过多重背包,这题从严格意义上来讲也不算是多重背包。算是很水的递推方程了。
关键是看能不能找不出使得价格为sum/2的,通过递推连接就好了。关键是怎样可达...
int DP[120001];
int main()
int line[7];
int testcase=0;
最近在做DP,好好静下心来学习吧....
首尾两次最长升序子序列= =,好吧 很水..
int max( int a,int b ){ return a&b?a:b; }
int main()
int high[101];
int DP1[101],DP2[101];
memset( DP1,0,...
某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。
输入数据为两行,
第一行为导弹的数目N(n
第二行导弹依次飞来的高度,所有高度值均为不大...
弱爆了..... 我真水... 只会水。
好久没来POJ刷水了。
int max( int a,int b ){ return a&b?a:b; }
int main()
int date[10000];
int DP[10000];
int testcase=1;
while(1)...
一有难题卡住就不想做题,这样遇难而撤可不好啊!
明天开始继续切题,我的职业生涯不长了!!把握最后的一点点时间好好的学学吧。实现我的目标。!
加油!!...
终于会写DP了,这种水水的还是能写的~ 嘿嘿~
PROG:rockers
int DP[21][21][21];
int time[21];
int N,T,M;
int max( int a,int b ){ return a&b?a:b; }
int getDP( int k...
PROG:fence9
int gcd( int a,int b )
if( b==0 )
else return gcd( b,a%b );
int main()
freopen( &fence9.in&,&r&,stdin...
拷的POJ的代码,直接A了。
PROG:heritage
ifstream fin(&heritage.in&);
ofstream fout(&heritage.out&);
int strlen( char *...
采用二分的方法,查找是否可见对面的篱笆。左边,右边两方收缩,采用点积叉积判断是否相交。
代码很丑.... 无视...
PROG:fence4
#define MAXP 201
#define ERROR 1e-6
struct Point
想了很久,看了下题解顿悟了!赤裸裸的使用的博弈的原理,但是却用DP的方法记录状态。收获颇多。
PROG:game1
int sum[101][101];
int dp[101][101];
int num[101];
int max( int a,int b ){ return a&b...
开始没有想法,后来一想,这是一道很明显的DP题,当前点的的边长正方形,决定于左边下面左下角三个点的状态。这样就可以构造出一个更大的方形。
PROG:range
int min( int a,int b ){ return a&b?a:b; }
int min( int a,int b,i...
骑士走的方式用普通的BFS,保存每个骑士的最短路径。然后枚举每个骑士在每个点接国王,计算路径即可。
相当麻烦的考验耐心的题目。
PROG:camelot
#define MAXR 31
#define MAXC 27
#define INF 0x0FFFFFFF
赤裸裸的DP题,简单题。
PROG:shopping
int ticket_No[100][6];
int ticket_Num[100][6];
int ticket_Money[100];
//票的成员,成员的数量,优惠金额
int hash[1000];
//编号映射
欧拉回路,采用递归的方法。采用递归的方法实现。
PROG:fence
#define MAXN 501
#define MAXF 1025
int map[MAXN][MAXN]={0};
int circuit[MAXF];
赤裸裸的SPFA模板题... 有点小失误,变量弄错了... 囧~
枚举集合点,A之~ 原来用的Floyd结果超时了....
PROG:butter
#define INF 0x7FFFFFFF
#define MAXP 801
#define MAXC 1500
嗯~很久以前没敲过的题,当时不懂状态压缩,不懂A*。因而没过...
现在用的康托展开+普通的BFS还是过了360ms也算是一个进步吧~
A*现在还是没有勇气去写... 加油!时间给我的不多了!~
(用C++TLE了... 改为G++就过了...)
struct node
这题和八数码十分相似,或许是我的遗留问题吧....敲完总是不过,各种错误。迟迟下不了手的原因就在于对空间的把握问题。要节约空间就必须设计一个好的hash函数,不然时空开销大。关键在于哈希怎么弄了?八位数---&如果采用这么大的空间,空间消耗太大,许多内存都没采用,不行... 
后来查了下资料,发现有康托展开恰好是结果全排列的哈希问题。有了康托展开之后,全排列的问题就可以采用最小的...
简答的枚举题,其他的不多说了....
切掉之后看了下题解,复习了一遍高斯消元法和克莱姆法则。发现还是数学方法好啊。
虽然枚举很省coding时间,于是乎,抱着节省code时间的态度,决定开始用模板类.....
克莱姆法则有几条重要的
1.非齐次线性方程,系数矩阵D=0时,有无穷多解。D≠0时,有唯一解。
2.齐次线性方程.系数矩阵D=0时,有解。否则无解。
另外克莱姆法则的时间效率低,...
用的最简单的方法过的,赤裸裸的模拟题。
估计一下时间复杂度,发现模拟可以做,果断模拟了,不过模拟得不好,太慢了。最好是学会bitset类,这样省空间。用bool要用掉8位.用360位的bitset可以直接判断了,不需要每次扫扫扫...
代码果断很丑:
很快就发现了这题的递推特性。简直是赤裸裸啊~
定义一个数组(  [串长度][串中'1'的个数]=种类数  )这就是一个排列啊~
用一个简单的递推方程求解出来C(n,i)=C(n-1,i)+C(n-1,i-1);
然后从首位n开始判断,∑C[n-1][i] ( i∈[0,l] )
若和大于等于当前的第k个数则说明,右边的n-1位足够提供题中所需的数量,因此当前位为'0';
若右边n-1位不...
以前在XTU的比赛中做过这个题,当时没过,到后面还是用了个猥琐的方法过的。
可能是不记得了当时用的高精度法没过,这次看到这题直接采用赤裸裸的高精度,结果... 在本地跑那速度.....= =||||
于是乎,还是采用了猥琐的方法;但是为什么每次mod100000呢??而每次mod10000就WA呢?
首先我们不能采用赤裸裸的保留末位非零数的方法。
原因:进位,使得末位为0;而在一...
一道很有意思的题目。只是今天的课程比较紧张,中午敲了下题,下午上完课后接着敲了下题。改了些bug,终于还是过了。鼓励一下~
解题思路:
题目大意是矩形覆盖问题,求最终见到的各种颜色矩形的面积。由于矩形比较多1000个而且坐标范围用点阵表示会爆空间。题中给的Hints也是含混不清。在队友提点下,终于到了解决的办法。用递归,因为题中有很明显的子问题性质,当前色块的矩形被上面的矩形覆盖之后可以分割成...
3章第一节有道题敲不出来啊~~~没办法,只能把后面的题先给敲咯~
这个题呢...
首先本巨菜想了一个很傻很水很烂的DP方程。使得自己的程序果断崩了...
开了一个的二维boolean数组,[面额][张数]这样来DP,因为最大的面额只有10000 ,再通过循环数组的方法,勉强使得空间不爆掉,结果过了9个点,第10个点果断超时。
后来牌桌子一想!可以变成一维DP!a[...
刚开始做这题的时候思路错了, 把他想成字符串模式匹配题了。通过构建长度在[A,B]之间的字符串,然后再对主字符串进行模式匹配,想想要用kmp算法,对于这个我还不是很懂.... 打算好好学习一下kmp,后来估计了一下时间,发现必须超时。
转而一想:
其实需要的只是在主字符串中的一些子集,通过直接遍历主字符串长度为len(A
怎么解决呢?
可以通过添加前导'1',区别开来。再在输出的时候忽略前...
这个题呢.... 这样:
输入数据中给了4个质数
我们就有4个队列
2-----2 3 5 7
3-----3 5 7
每个队列乘以队列的第一个数,取出乘积的最小值,插入到队列中。
例如当前的最小值为2*2=4,插入队列
2------3 4 5 7
3------3 4 5 7
5------4 5 7
前段时间看了点背包九讲,没能沉住气看完,后面还是要好好加工一下啊。这种背包水题还是能秒掉的。
ID:sevenst4
PROG:inflate
#define MAXT 10000
#define MAXP 10000
int dp[MAXT+1];
int t[MAXP+1];
int f[M...
拿以前的代码过来秒掉了,这代码可以作为一块好的模板了.......
ID:sevenst4
PROG:agrinet
int main()
freopen( &agrinet.in&,&r&,stdin );
freopen( &agrinet.out&,&w&,stdout );
简单的语言控制,考察代码的熟悉程度。
代码比较丑陋,但是能ac......
ID:sevenst4
PROG:fracdec
struct node
}p[100000];
bool flag[100001];
int main()
很简单的最短路问题,其中的关键就在于有些农场是没有牛的,这些农场可以走,但不能算在最终答案中,毕竟题中需要的是牛的最短路径。将'Z'点作为源点,进行一次赤裸裸的单源点最短路径,就可以得出答案了。代码中我用一个hash函数把所有的字母下标点都规整到[1,52]这个范围内。
ID:sevenst4
PROG:comehome
#define INF...
总算是做到了一点点的图论题了~ 意味着后面的难题要来了
还是觉得自己太懒,不愿去花时间,不愿意相信自己。
这个题呢,有点点意思,本来我的代码超时的,随手改了点小东西,没预料到过的竟然过了~ 哇哈哈哈~另类的秒掉了。
解题思路很简单,但是求解过程中会绕很多圈子,有点头疼。
枚举不在一个联通图中的两个点,做边连接它们,在根据题中的定义,求出农场的直径,再通过寻找农场直径中最大值的最小值。这里佷...
ID:sevenst4;
PROG:maze1
char m[222][88];
int hi[101][40];
int fx( int x ){ return (x&&1)-1; }
int fy( int y ){ return (y&&1)-1; }
int min( int a,in...
简单的模拟题,如果是要找周期性的话,真不会啊~....
ID:sevenst4
char map[20][20];
void rotate( int &x,int &y )
tx=x;ty=y;
茅厕顿开的一道DP题!那真是!突然知道了想通了!那编出来的速度真是快啊!
抓牢DP的特征,构建DP方程~ 嘿嘿~
ID:sevenst4
PROG:prefix
#define MAXN 200001
int dp[MAXN];
char item[201][12];
char dat...
很明显的DP但是要注意的东西很多。不能盲目初始化,另外看的DP课件说的就是DP的特征,最优子结构,最优局部特性。找到DP的关键就在这里。
PROG:nocows
#define MAXN 201
#define MAXK 101
#define mod 9901
int main()...
简单的枚举题。
题意是在一个集合S中求等差数列,输出等差数列的首项与公差。集合S中的元素是两个非负数的平方和。题目给出等差数列的项数,集合元素的范围。
思路:用一个bool数组记录该位置的数是否属于集合S。如果直接枚举公差很容易超时。这里可以减枝,使用一个list数组将bool数组中有效的元素全部保存起来。这样取出首项与公比就更快速了。另外要优化的就是判断最后一项是否在集合S中。
很少去自己构建枚举法,一般遇到题就是直接的DFS,BFS显然这样的编码复杂度很高。太久没有做题了连这道水题都用了我一上午,也对自己的思维有帮助吧,简单的事情复杂化了。实在不是我所希望的啊... 调试了N久都没弄出来!
好吧说说这题的思路:
首先明确的一点就是这题不需要用到DFS,用DFS和BFS的话就要用位操作压缩状态,一位位操作还是很方便的,但是两位位操作写起来就不那么好看了。我们知道,对于...
很久没有做题了,详细统计呢有两个月了。浪费了两个月做了一些无关痛痒的事情。在这里对我的队友说声对不起了...接下来好好做题吧..尽量多做点多感悟一点。
这题在题目里面说得很清楚了,有6种情况,其实这六种情况只是4个矩形的不同摆法。和他的长宽怎么摆是没有关系的。其中1-5的情况是固定的,因为这几种情况比较简单,每个矩形各自的长宽对集合出的大矩形的长宽影响不大。
下面重点分析的就是第六种...
习惯了安静~ 听着钢琴曲做我的作业。
没碰acm大概有一个月了。
四级也终于考完了。
现在手头的任务很多,这几天的任务很多吧。
今晚熬夜做JSP。
做完后开始linux的备考,还有TCP的代码要写!加油!
弄完这些就开始我最爱的acm吧!...
这题周末的时候去被虐的时候做过但是那时的题目描述和现在不同;
那题是说把猪送城市,输出按猪的顺序到城市的映射,而POJ的题目却是按城市的顺序输出猪。
明显的,我们可以得到单位的重量的猪送到每个城市挣的钱,这样有个排序。
将猪的重量排序这样又有一个排序。于是乎... 重的猪挣大钱,轻的猪挣小钱。按照桶排序一一映射。
再顺序输出就OK了~
#include...
很久以前便想做做K短路了。只是无奈鄙人这苦逼的小菜啊~。
首先讲讲A*算法吧。众所周知,A*算法就是启发式搜索,基本形式就是这样:f(x)=g(x)+h(x);其中f(x)代表在x点所需要的总代价,而g(x)代表:从源点到x点已经耗费的实际代价,h(x)代表从x到终点需要的估计代价,这个函数是一个估计值.而从x到终点真正需要的代价为h*(x),在整个启发式搜索中我们必须保证h(x)
这样我们可...
恶心OJ恶心题! 模拟法太恶心了!!
int chess[100][100];
bool cross1( int x,int y,char aim )
if( chess[x][y]==aim )
if( chess[x][y]!...
UVA是世界上最恶心的OJ!!!
题目中说的每个图之间应该有一个空行.... 就是前面没有后面也没有!! 好恶心!!...
这题的数据量来看,很明显要用记忆化的思想。
记忆化却要注意两点
1.不要用数组的下标来作为记忆化的标记,在不知不觉中就爆空间了。
2.在自己保证不会爆数据空间的时候却出现了RE,这时候就是数据类型爆掉了。
以上就是两种RE的问题!
其他的没什么了。只是在编码的时候要考虑更多的东西。就是这样........
K – ZZY 的字典
Time Limit: 1000MS
Description
ZZY 的英语一直很悲催..面对厚厚的单词本相当捉急...并且总是将相似的单词给
弄混...囧...为了让自己区分好每个单词但又减少记忆量...ZZY 决定采取将每个单
词简化到最短长度..简化的单词满足在单词表中能唯一标示这个单词并且其长度
最短..若有单词是另一个单词的子集..那么这个单词简化不了...
J – 坑爹的叶萝卜Time Limit: 1000MS
Description
叶萝卜喜欢旅游,好了大家应该知道这是个什么题了。
话说萝卜旅游喜欢节省体力。太远的路他可不想走~ 所以萝卜想让你帮他设计个
程序解决他的偷懒问题。
萝卜也是个有名的acmer,所以他可不想就这么简单让你AC 了,所以呢,萝卜
想问,从S 点到达E点的最短路径的条数有多少条?
第一行为T,代...
做不出= = 英语郁闷死!
I – 因式分解
Time Limit: 1000MS
Description
Recently Georgie has learned about polynomials. A polynomial in one variable can be
viewed as a formal sum anxn + an-1xn-1 + . . . + a1x + a0...
H – 奇幻方阵
Time Limit: 1000MS
Description
幻方是在一个n*n 的矩阵中放置从1 到n2的数,每个数只出现一次,并且在
每行,每列及对角线的和是一样的。
这个问题的焦点是奇数幻方,它意味着n 是奇数,你将使用下面的方法来构造
奇幻方阵,最基本的规律是向右上角移动,下面让我们一步一步进行。
1、让我们开始在最上面的一行的中间放上1(在这个例中n=3)...
G –平面直线与坐标轴所围成的区域中整点的个数
Time Limit: 1000MS
Description
KK喜欢做数学题,特别是有难度的数学题,他最喜欢钻研了,但是最近一道
题目确把他难住了,题意思如下:
求平面上由x+2*y=n 与两坐标轴所围成的直角三角形内(包括边上)的整点
的个数,其中整点表示x,y都取整数的点.
你能帮助他吗?
第一行输入一整数T,表示...
pick定理:
多边形的面积=多边形内的点+多边形边上的点/2-1;
在向量a(n,m)边上的点有gcd(n,m)个。
F – Electric Fence
Time Limit: 1000MS
Description
在本题中,格点是指横纵坐标皆为整数的点。
为了圈养他的牛,农夫约翰建造了一个三角形的电网。他从原点(0,0)牵出
一根通电的电线,连接格点(n,m)(0
E - Raucous Rockers
Time Limit: 1000MS
Description
你刚刚继承了流行的“破锣摇滚”乐队录制的尚未发表的N(1
的版权。你打算从中精选一些歌曲,发行M(1
多可以容纳T(1
不巧你是一位古典音乐迷,不懂如何判定这些歌的艺术价值。于是你决定根据
以下标准进行选择:
歌曲必须按照创作的时间顺序在CD盘上出现。
选中的歌曲数目尽可能...
这题又WA了N次.... 悲催咯~~ 很多小细节什么的!这是思维能力啊!!
蜗牛!快爬!
Time Limit: 1000 MS (C/C++) Memory Limit: 65536K (C/C++)
Problem Description
很久以前有一只蚂蚁,某天在路上走着走着,突然看见了一只蜗牛,爬的很慢。心想自己虽
然比它小,可是跑得比它快,于是蚂蚁想跟蜗牛进行一次马拉松比赛,想...
C -大家一起来排队
Time Limit: 1000MS
Description
还记得每学期开学第一节体育课吗?小学的朝思暮想,中学的激动以及大学的无
奈。那你们是否还记得每次上课都要做的第一件事是什么吗?对!就是按高矮来
排队,先把我们分成四排,高的站左边,站后面。那时候很好玩吧,有时候不知
道怎么排,就会被老师骂。
现在这里一共有N个人,排成一排(从低到高),另外有两个空的队...
B - 钉子和小球
Time Limit: 1000MS
Description
有一个三角形木板,竖直立放,上面钉着n(n+1)/2 颗钉子,还有(n+1)个格子(当
n=5 时如图1)。每颗钉子和周围的钉子的距离都等于d,每个格子的宽度也都等
于d,且除了最左端和最右端的格子外每个格子都正对着最下面一排钉子的间隙。
让一个直径略小于d 的小球中心正对着最上面的钉子在板上自由滚落,小...
段学姐的题啊~~ 热泪盈眶的WA了我3次不明白为啥啊.....
很水的二分快速幂取模法。
int KK( int a,int b )
if( b==1 )
if( b==0 )return 1;
大家不用找了= =,AOJ是挂在咱内网的。因为太过霸气取名叫AOJ了= =。貌似是很有霸气的啊~~
这是我出的第一题,第一次队内练习赛,虽然是个水题啊,也只是我刚刚A掉的题。很水很水的说......
题目:坑爹的叶萝卜
描述:叶萝卜喜欢旅游,好了大家应该知道这是个什么题了。
话说萝卜旅游喜欢节省体力。太远的路他可不想走~ 所以萝卜想让你帮他设计个程序解决他的偷懒问题。
几天没有做题了。想好好的整合一下知识。不然的话真的采用题海战术这样绝对是不明智的!
鄙人目前对图论,组合数学,计算几何感兴趣。DP还好~
做题做了一道次短路径的题。以前也想过这样的解法并且也还码过代码,很明显的WA了。
这次借鉴了网上的做法,并个人做了认真的思考。看来我对Dij的算法理解还是不是很深啊!虽然通过YY,想出了最短路径条数的计算方法,次短路径却怎么也解决不了。
研究过大神的算法...
这题模拟得很蛋疼!所以来写一点心得。
众所周知,OJ采用的读取文件的方法,所以会和我们肉眼看到的情况有些不同。
拿这题为例,char(0)与char(32)看上去的效果是一样的,32为正宗的空格,而0为不能输出的字符,用看上去是一样的,但实际上计算机处理的时候却有很大的差异,当然啦,计算机比较的是ASCII码值,看上去一样才不管呢.....
另外这题的话,对于Web页面的输出,还是应当cop...
本身写链表就不是很强,搞acm就是这样,一点点不知道,模棱两可的话 自己是写不出代码的!一定是要对这个算法熟悉了,才能写出来,对于链表尤其是这样!不然对链表进行next操作和当前节点赋值操作的时候都会出问题!这里建了一棵字典树,26插树????用尾插发写的。这几天一直在看专业书,A题比较少。另外这题真的加深了我对树形结构与指针的使用。感觉很不错,对链表的操作过程,感觉要形象的理解才能做出来,不然就...
这几天在学习Linux中...... 表示很有兴趣~~~ 程序慢慢A吧~~~~...
第一次做这种少人做的题目,感觉好爽啊~~~ 这个题目的解法借鉴了Matrix67大神的好文章:
10种经典的矩阵解法 这里讲得很好,我用的是矩阵的经典7,专门用来借线性递推的。
再结合矩阵的快速幂,这题无疑是小细节要注意注意了!
#define MAXN 101
#define mod 10000
#define ull unsigned long long
很有意思的题= =..... 紧跟zzy大神的步伐A题.... 这里结合离散数学的知识:
离散数学中图的矩阵表示法 用i,j为1表示i到j有一条边,A*A即A^2就是说i-j为2条边的路径种类有多少条。但是这个题的话是运用Floyd的思想,每次更新边使得路径条数+1.多的不说了 不说i我的思想。但是对图论的理解又进了一步!
#define MAXEdge 1000005
觉得专业课学习有点落下了,而且acm这方面也没有弄好= =蛋疼死了!!稍微写写博客就开始学习吧!!
矩阵的快速幂和a^b%n类似。运用二分的思想。在这题中需要计算的是A+A^2+A^3+...+A^k的和,由于矩阵相乘有结合律,所以!@#$%^&*.....
不多说了,代码很丑。还是拿来占个位置吧.... 第二次写递归啊!!我的神啊~~
#define MAXN 31
这个题很有意思,其实就是求出最短路径,再用最短路径值*结点值的和。通过这题,又找到了编程的一个bug,总是想省空间,结果就只能悲剧了,还是先相乘后强制转化的问题,必须出错的!第一次用比__int64还大的数据类型usigned long long,另外熟悉了一下宏,感觉还不错。对...
好吧~图论的学习该告一段落了。这个题很有意思:
说有几个学校,相互传递盗版软件,为单向传递关系。问给最少几个学校盗版软件,可以使得全部的学校都有盗版软件。2问最少添加几个传递关系,使得不论城管消灭其中的一条传递线路,还是能够让所有的学校都通过一张盗版光盘传递完。
思路呢......
--眨眼5天过去了,这几天基本上在忙着招新的事情,虽然我的并不是太对招新负责,但是招新海报是用的我的照片啊!!压力太大了,发现这次的新队员应该比我们这些老家伙更有能力,聪明多了,不知道他们肯不肯付出咯~
言归正传,开始总结:
很悲剧的读错题了。本来以为和Popular Cow一样,对于所有的点 都被可达这样的点为sink点。实际上的意思是对于所有的w点到v点有路径且v到w也有路径这样的点才叫sink点,所以其在w-&v有边而v-&w没有边,这样的点不是sink点。当且仅当上述两个条件都满足时,才为si...
本来这几天打算做2-SAT的,昨天和zzy看了算法之后,其中说到需要解强连通分量,于是便开始学习了。虽然以前也学习过强连通分量的算法,那时只知道一个就是Kasaraju算法,当时对于其两次DFS先正搜再反搜的顺序不以为然,我坚定地先反搜再正搜,结果果断的WA了!zzy那时秒A过的...
--四天的SPFA,Bellman_Ford,差分约束。
今天来个总结吧(虽说还有SPFA的优化算法没学,以后遇到题目再解决吧)
采用循序渐进的办法来阐述这几天的学习:
1.Bellman_Ford算法:
主要思想在于三角形不等式与...
这道题还比较正常~话说~还是那个道理,最短路径求最大值....
这题比较新的一点就是出现了三种情况
1.负环无解
2.距离太远不可达 N点未更新
#define MAXN 2005
#define MAXM 20010
和上题一样的解法。代码也一样,一样纠结了很久。一样不知道为什么!!
#define MAXN 20001
#define INF 0x7F7F7F7F
struct Node
一道很蛋疼的题... 虽然很明显的差分约束,但是我就是那么错了。N久N久啊~~到现在我还是不知道为甚么!!!虽然很明显的是差分约束题,而且网上的资料乱七八糟的.... 看到了两条有用的结论:
1.求最大值,采用最短路径求法。
2.求最小值,采用最长路径求法。
但是!为什么啊...
终于用SPFA AC了~~这题还真是!!稍后要把差分约束和SPFA总结一下~~,觉得这题还是挺有意思的。具体为什么WA了呢??? 不是那么清楚~~ 照着做就是AC了。发现形成链表就那么简单~ 嘿嘿~
#define MAXN 103
模板题,一直想用SPFA来做,可是这题却遇到了麻烦。因为对于原来的题来说一直想弄懂那个超级原点是怎么做的。这次用SPFA弄了N久,还是没弄出来... 后来果断用了BellmanFord()裸A啊....
原来Bellman比SPFA还要好写,果断不用Dijstra了~...
第一次做差分约束的题,和zzy神牛一起做的,今天的目标还是3题,这是第一题。
差分约束就是有N个点M个约束条件,去寻找所需要的东西。可以用SPFA也可以用BellmanFord,但是这个题的问题在于没有原点,于是乎~
1.&建立一个超级原点,该原点到所有的店的距离都是0,将所...
在比赛的时候和小昱一起做的,他20min做出来了,而我却花了两个多小时啊!!他还是学弟呢= =内心无比歉疚...
因为有些东西很不熟练吧!!虽然我想出暴力的方法还是很快很快的... 编码那个速度哦...
#include...
一道有趣的题目,zzy大神告诉我的用floyd... 基本上没想什么map现在用得比较熟练了,想起昨天的福州的三国杀,写的我想吐血啊!
题目就是求汇率是否能形成一个环,使得利滚利,钱生钱。这样只要把初始结点对自己的汇率调整为1.0,对其他的是0,这样来用Floyd就可以解决...
第一次做SPFA,本来觉得会很难很难写,所以一直都没有去涉及这个方面的题目。在FUZHOU网络赛上遇到了属于SPFA算法的题目,可是我却完全不知道。这次网络预选赛又是3题,还是没能去成现场赛... 最后一年了,我还是这么弱小,A题还是那么慢,所以要好好把握写题的速度尽量快起来!!...
我发誓再也不看Discuss了~~
int A[101];
int B[101];
int Mid( int a,int b,int c )
int num[4];...
AC~ 调试了N久的一道题啊~~ 还是英语不行,把题中的变量意义读错了!结果怎么调试怎么不过啊~~悲剧悲剧哦~
总算是过了~~
--------------------------------------------------------------...
虽说是水题,但是也太坑爹了吧~~~ 以前的floyd都是用的k作为内重循环,在这个题就是错了,不知道为啥,总之就是错了。调试了n久啊~ 有木有~~
#define MAXN 111
#define INF 1&&30-1
using namespace std...
这道题这真的很纠结啊~ 记得那天做完昂贵的聘礼后,直接奔向这题了,但是坑爹的题目描述硬是让我把那天写的代码重新写了一遍,其实还不止一遍,应该是两遍啊~~ 确实,我写代码还是存在着一些的问题,手速不够快,失误率太多,只能每次都按退格键。看似很快的敲击键盘,其实只是在发泄罢了。POJ...
这题算是我自己做的了,从开始建模构图构思,敲代码,调试,重新想思路。虽然做这题做了很久,但是也算是了结了我的一个心愿吧,昂贵的聘礼是我从ACM入门时就开始想做掉的题目了,这次下了决心终于做掉了,开心啊~
-------------------------------------...
[AC ]   1062* 昂贵的聘礼 枚举等级限制+dijkstra
1087* A Plug for UNIX 2分匹配
[AC ]1094 Sorting It All Out floyd 或 拓扑
1112* Team Them...
这届的湖南省省赛算是落下了帷幕。成绩摆在那里了,也不想多说。两个二等奖,两个三等奖。我们离一等奖的差距真的就那么一点点,不过可能还是实力不够吧。很开心的是省赛弄完了,要开始着手准备下一阶段的学习了。
先说说农大的这次比赛环境,赛前临时换裁判系统这点太恐怖了,这也可能是我们卡...
在今年培训前期做的题目,那时感觉不会做,邀请了萝卜兄弟帮忙解决,现在看来确实是道水题。屁颠屁颠的AC了。
这题直接记录整个连续区间的值,把前面连续的去掉,留下最后一段不连续的,就可以用O(1)的算法了。这种思想以前也遇到过,做的题多了就有感觉吧。不错不错。
不过还是调了很久1...
这是水题:
int main()
int map[101][101];
int index,i,j;
index=1;...
今天的成都区域赛又悲剧了,通过这三次的区域赛,让我深深的感觉到了我们与别的队的差距。努力了三场,连区预赛都进不了,何况是今年的湖南省省赛呢。那么多前面的队伍在,让我感受到了深深的挫败感啊!今年想拿省赛的一等奖看来是没有希望了,对不起郭神牛了,他的最后一次比赛不能让他圆梦了。真是伤...
队内比赛又悲剧了,咱们队各种不在状态啊~ 我悲剧的计算几何就这么悲催咯~ 不过是个好题,可以用来做模板了。线段相交分为几种情况,1不相交,2,重叠,3相交端点在线上,4相交端点不在线上。
为什么还是这么弱啊~~ 和我不想编代码有关系!加油啊~狐狸
以前做过最大连续子序列的和,是自己出的思路,用线性的算法还是很简单的。很久没有更新我的题解了,1,000题解不知道什么时候才能出来啊,所以水一题好了。在一段序列中取数字,取出的数字奇数位为加,偶数位为减,要求得出最大的和。本来没想法,也没打算去想,中午太累了,休息一下,起来之后就...
悲剧的队内赛,我还是太弱了= = 倒数第二的好成绩啊~~
悲剧的代码= = 300+啊~~~
using namespace s...
这题卡了我很久!不过也给了我很多的启示.. 因为自己对线段树的理解还是很浅显的所以这个题也便总是过不了,一直卡着卡着。遵照三鲜的原则,现在我做题极少看别人的代码,但是又没有人可以和我一起讨论的,所以今天还是看了下别人的解题报告,因为我想不出了,看着看着我发现了一个问题-----&...
上午看了三鲜的退役报告,感触良多,ACM的最后一年了,决定学习他的方法,少看解题报告,自己想,或许到了某天我也可以发明出什么YY树之类的什么东西,最近在做线段树,里面要用到vactor动态数组,决定自己好好的学学而不是去看别人的解题报告,从这里来好好学学吧,自己一点点的摸索而不是...
对于以前做的区间合并线段树颇有微词,对于大神们使用三个数组来记录节点的情况很是不解。对于当前点,只需要能提供所需的w长度区间即可向下进行判断,左子树优先提供,左右子树合并提供,右子树最后提供,否则输出不可行。
故我认为只需要一个记录当前节点的情况的数组即可,不需要三个数组,故用...
OI大神的论文:  /wc/...
题目大意:给定一面墙h*w的尺寸,现在向墙壁粘贴1*w'的纸条,求字典序最小的而且满足条件的粘贴位置。
这题h,w的范围为10^9而普通的线段树是要此尺寸*4的,刚开始写的时候内存开大了,但是题目的另外一个条件n
各种线段树的关键在于分析题目要的是什么,在区间合并线段树中,采...
题目大意:题目给定一面墙(一维),在墙上贴海报,(li-ri)的区间形式张贴n张海报,求最终在墙上能看见多少张海报?
区间覆盖的线段树的求法是这样的,每个区间给定一个标记,例如(1,10),(2,6)张贴两张海报,那么(1,10)区间的节点就...
KD的单调队列啊!! 十分坑啊~~ 整个下午都浪费在这个上面了~虽然优化到了5400ms+了,但是离那些500ms+的神犇们差距太远了... 应该是有很好的算法吧,只能一个人想了。
使用单调队列... 无限TLE啊... 没看代码只是自己YY了一遍大概怎么弄。我理解的的单调队列...
此题的较好方法为单调队列。稍后实现一下。用阉割的线段树来写9600ms++囧~
简单的线段树就不说了,详情可以看以前的文章或者下面的代码.....
虽然有点凑数量之嫌....
#define MAXN 1000001
using namespa...
近来A题十分的慢啊,可能是我不在状态吧,每天给自己定的8题计划都完成不了。
依旧线段树,感觉区间合并和计算几何的线段树还是完全没有感觉。现在在深入理解算法的实质,以及在实际应用中怎样转换。线段树只是一种数据结构,只是一棵树具体要怎样使用以及实现怎样的功能,都要Acmer自己来设...
虽然二分图模板已然是十分熟悉,但当初练习的时候也只是搜图论列表一个个的练习模板。
话不多说,分析一下这题的构图。
给定的4*4的图。
要求我们构造木板。每个点的木板可以有横向和纵向两方选择。题中要求选择最少的木板...
这些天一直在啃HH牛的线段树完全版里面讲得比我的结题报告好多了。弱菜飘过......
其实我只是看懂了神犇的代码,然后自己手动模拟一遍,然后把CODE默写出来.....
里面的实现还是有些不懂....
干脆自己写个注释利于理解好了.....
弱菜觉得难处理...
现在写线段树感觉还是蛮不错的
熟能生巧了吗?
感觉自己一直在做模板题
NOS神犇的博客还真是好啊 给了我这么好的学习地方~
线段树把他的每个题吃掉吧
这题要注意的就是...
计算区间大小时(L-R+1)是错的,想当然了;
另外计算的时候记得root
还有sum+=...
NOS神犇博客里的一句
通常这对初学者来说是一道坎
吓得我3天没有看线段树= = 因为鄙人是新手啊.....
昨晚临睡前想弄懂段查询段更新的线段树,结果还就真的弄懂了;
这种线段树用了延迟标记以及其操作PushDown;
延迟标记代表当前区间的值为多少。
  蒙特卡罗(Monte Carlo)方法,或称计算机随机模拟方法,是一种基于&随机数&的计算方法。这一方法源于美国在第二次世界大战中研制原子弹的&曼哈顿计划&。该计划的主持人之一、数学家冯·诺伊曼用驰名世界的赌城-摩纳哥的Monte Carlo-来命名这种方法,为它蒙上...
下面是NOS神犇的简介:
在代码前先介绍一些我的线段树风格:
maxn是题目给的最大区间,而节点数要开4倍,确切的来说节点数要开大于maxn的最小2x的两倍
lson和rson分辨表示结点的左儿子和右儿子,由于每次传参数的时候都固定是这几个变量,所以可以用预定于比...
在Alibaba上碰到了中级的线段树问题,另外在队内集训的时候做2010年的多校联合的题时,遇到了两道线段树。
但是无奈的我只会树状数组。如果用树状数组来段更新,简直是以卵击石嘛~ 
接连受打击,无奈之下只好拜读了下Roba,NOS的博客,他们的教学博...
访问:114989次
积分:3487
积分:3487
排名:第4130名
原创:242篇
评论:15条
(1)(1)(3)(17)(30)(3)(4)(39)(54)(20)(3)(1)(5)(34)(13)(16)}

我要回帖

更多关于 乘公比错位相减法 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信