上一页 1 2 3 4 5 6 7 8 ··· 17 下一页

srm#397_div1_500pt 矩阵乘法+快速模幂

摘要: 题目地址:srm#397_div1_500题目描述:Problem Statement NOTE: This problem statement contains superscripts that may not display properly if viewed outside of the applet.You are given ints n and k. Return the value of the sum 1k + 2k + 3k + ... +nk modulo 1000000007. Definition Class:SumOfPowersMethod:valueParam 阅读全文
posted @ 2014-03-16 20:17 814jingqi的ACM 阅读(236) 评论(1) 推荐(0)

poj 3176 Cow Bowling dp

摘要: 题目地址:poj3176额 就是经典的数字三角形问题;代码:#includeusing namespace std;int a[400][400];int f[400][400];int main(){ int n; cin>>n; for(int i=0;i>a[i][j]; } for(int i=0;i=0;i--) { for(int j=0;jf[i+1][j+1]?f[i+1][j]:f[i+1][j+1]; } } coutf[i+1][j+1]?f[i+1... 阅读全文
posted @ 2014-03-15 16:51 814jingqi的ACM 阅读(115) 评论(0) 推荐(0)

LA5901 Bird tree

摘要: 题目地址:LA5901给你一个分数,还原这个路径。首先看懂树的定义。这个bird本身是无穷的,就好像x=sqrt(2+sqrt(2+sqrt(2+......))) 无穷的这样定义下去。这样就会有x*x-2=x; 从而解出来x。先谈谈树怎么构造出来,首先知道1/1 后, 得到第二层,然后1,2曾一起得到左子树,右子树,更新1/1 的左孩子,右孩子。这样树就有三层了,再重复这样的操作,一层层的多起来。现在我们得到一个节点,就是要把它还原到最初的状态。看看 左孩子,a/b ->1/(a/b+1)==b/(a+b) 那么还原操作就是b/(a+b) -> a/b==(a+b-b)/b 代换 阅读全文
posted @ 2014-03-14 03:36 814jingqi的ACM 阅读(111) 评论(0) 推荐(0)

LA5904 Please, go first

摘要: 题目地址:LA5904题目大意 现在有一个序列 例如 AABBCCB同一类字母代表同一批人,用只能载一个人电梯载他们上山顶滑雪,同一批人要一起出发,所以先上去的人如果还有成员没有到齐还是得等。现在问怎样能使在不让任何一个人等待时间变长的基础下,使得总的节省时间最短(每个人节省的时间的和)算法是:根据每一类的最后一名出现的顺序排序。实现:扫一遍 用map存储证明: 实际上 每一批人的最后一名的相对顺序没有改变,只是同一类人集中了,那么这样倒着看,只可能最后一名的绝对位置前移(或不动)了,满足了交换时不会让等到时间变长。最后变成AABBCC这样的形式 不能继续优化了代码:#include#inc. 阅读全文
posted @ 2014-03-14 01:50 814jingqi的ACM 阅读(144) 评论(0) 推荐(0)

LA 3644 X-Plosives

摘要: 题目地址:LA3644额 观察出化合物实际上是一种二元关系然后k中化合物,k种元素实际上是一个环。那就是裸的并查集了记得每次输出ans后还原初始化代码;#includeusing namespace std;int p[100005];int find(int x){ return p[x]==x?x:p[x]=find(p[x]);}int cnt;void init(){ cnt=0; for(int i=0;i>a) { if(a==-1) { cout>b; x=find(a); ... 阅读全文
posted @ 2014-03-12 01:57 814jingqi的ACM 阅读(118) 评论(0) 推荐(0)

codeforces#235_div2_C Team 简单构造

摘要: 题目地址:cf#235_div2_c题目大意:给你n个0,m个1让你把它们排成一列使得 没有三个1相邻,没有两个0相邻。一下就想到233那场ooxx的题,直接用0当隔板 然后估计一下1个数的上下限,再分类讨论一下。很水啊 和ooxx那个题完全没有比 a b c三题都好水代码:#includeusing namespace std;int main(){ int n,m; cin>>n>>m; if(m=n-1) { if(m==2*n-2) { for(int i=0;i<n-1;i++) { ... 阅读全文
posted @ 2014-03-12 01:19 814jingqi的ACM 阅读(124) 评论(0) 推荐(0)

codeforces#234_div2_D Dima and Bacteria floyd+并查集

摘要: 题目地址:cf#234_div2_D题目大意:现在又k类细菌,现在已知每一类细菌的编号,给一些非负路径,问1 是否满足每类细菌之间有权值0的路径,2 当满足1时,输出类之间的距离矩阵。1 以0权值到达是等价关系,所以是等价类,引入并查集2 给一个标号,我们应能知道它属于哪一个类别。3 输入的边,可能很多条是连接同一对类型的,所以在使用Floyd之前还是要取min4 符号优先级 慎用三目运算符#include#includeusing namespace std;#define INF 1000000001int n,m,k;int p[100005]; // 并查集int t[10000... 阅读全文
posted @ 2014-03-12 00:45 814jingqi的ACM 阅读(120) 评论(0) 推荐(0)

hdu 1690 Bus System Floyd 求最短路径

摘要: 题目地址:hdu1690给你一些车站,问这些车站之间的最“短”(费用最少)路径。结点个数100 直接用floyd比较坑的是,给的坐标并没有按升序 还要用abs wa了很多次#include#includeusing namespace std;#define INF 1000000000000000000LLtypedef long long inta;int l1,l2,l3,l4,c1,c2,c3,c4;int n,m;inta d[105][105];inta px[105];void init(){ for(int i=0;i>cas; int from,to;... 阅读全文
posted @ 2014-03-11 22:29 814jingqi的ACM 阅读(138) 评论(0) 推荐(0)

codeforces#235_div2_B Sereja and Contests

摘要: 题目地址:cf#235_div2_BA题还是按惯例不记录了。问错过的轮数,最多就是没有做的场数,最少就是每个连续的没做场数,÷2取ceil。嗯嗯 也是水题。 记得把p[x]取为1,这样来作为终结符代码:#include#includeusing namespace std;int p[40001];int main(){ int x,k; cin>>x>>k; int flag=0; int a,b; for(int i=0;i>flag; if(flag==1) { cin>>a>>b; p[a... 阅读全文
posted @ 2014-03-11 15:34 814jingqi的ACM 阅读(146) 评论(0) 推荐(0)

Regional_2011_H Holiday's Accommodation

摘要: 题目地址: 1 LA戳这里 2 hdu2011_Chengdu_H题目大意: 给你一颗树 ,告诉你每条边的权值,现在每个节点上的人要到其他的地方去,问所有里程加起来最多可以是多少?先估计一下上界:对于每一条边: 它作为割边将图分为两部分,假设这两边的人都尽可能的夸过这条边,这样在这条边上的贡献将达到最大。先转化为有根树后,取2*min(k,n-k) k是孩子节点的树的size案例是可以过的,直接敲了 ac 应该是正确的算法 正确性有待证明LA上直接dfs就可以了如果是杭电会爆栈 用c++交 + 手动改栈的大小 #proma comment(linker,“/stack1024000000,10 阅读全文
posted @ 2014-03-08 20:42 814jingqi的ACM 阅读(112) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 ··· 17 下一页