题目链接:传送门 题意: 有n个点.m条边.要使n个点所有连起来且要花费最小.问有哪些边是必需要连的. 分析: 要使花费最小肯定是做最小生成树.可是题目要求哪些边是必需要用的.我们能够 这样思考,我们先求一次最小生成树,然后把这些用到的边统计起来,然后依次枚 举这n-1条边.使他们不能用,然后继续做最小生成树,假设最后求的值和第一次 不一样的话那么这条边是肯定要连的. 代码例如以下: #include <iostream> #include <cstdio> #include &l…
Description ICPC (Isles of Coral Park City) consist of several beautiful islands. The citizens requested construction of bridges between islands to resolve inconveniences of using boats between islands, and they demand that all the islands should be…
题目链接:http://www.bnuoj.com/bnuoj/problem_show.php?pid=26586 题意:给一个图,每条边有一个权值.要你求选择一棵树,权值和为sum,然后在树上选择一条边权值为w,然后使得sum-2*w最小. 首先求一遍最小生成树,然后求出每两个点之间的最小瓶颈路,然后枚举边就行了.. //STATUS:C++_AC_916MS_30048KB #include <cmath> #include <cstdio> #include <cst…
find the most comfortable road Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) [Problem Description] XX星有许多城市,城市之间通过一种奇怪的高速公路SARS(Super Air Roam Structure---超级空中漫游结构)进行交流,每条SARS都对行驶在上面的Flycar限制了固定的Speed,同时XX星人对 Fly…
先求出最小生成树,然后枚举树上的边,对于每条边"分别"找出这条割边形成的两个块中点权最大的两个 1.因为结果是A/B.A的变化会引起B的变化,两个制约.无法直接贪心出最大的A/B.故要通过枚举 2.无论magic road要加在哪里.加的边是否是最小生成树上的边,都会产生环,我们都要选择一条边删掉 注意删掉的边必须是树的环上的边.为了使结果最大.即找出最大的边 3.能够枚举两点.找出边,也能够枚举边,找出点,我是用后者.感觉比較easy写也好理解 #include <cstdio…
题目链接: csu 1116 题意: 有一幅双向图连接N个城市(标号1~n,1表示首都)  每一个城市有一个价值W. 地震摧毁了全部道路,现给出可修复的m条道路并给出修复每条道路所需的费用 问在总费用不超过k的情况下,使得  与  首都连通的全部城市  的价值和 最大 解题思路: 点的数量不超过16 ,2^16次方枚举全部城市是否在连通的集合类 再通过kruskal推断这个集合是否合法就可以 代码: #include<iostream> #include<cstdio> #incl…
There is No Alternative Time Limit: 3000ms Memory Limit: 262144KB This problem will be judged on Aizu. Original ID: 135064-bit integer IO format: %lld      Java class name: Main   ICPC (Isles of Coral Park City) consist of several beautiful islands.…
费马大定理:当n>2时,不定方程an+bn=cn没有正整数解.比如a3+b3=c3没有正整数解.为了活跃气氛,我们不妨来个搞笑版:把方程改成a3+b3=c3,这样就有解了,比如a=4, b=9, c=79时43+93=793. 输入两个整数x, y, 求满足x<=a,b,c<=y的整数解的个数. Input 输入最多包含10组数据.每组数据包含两个整数x, y(1<=x,y<=108). Output 对于每组数据,输出解的个数. Sample Input 1 10 1 20…
期望得分:100+100+40=240 实际得分:100+0+40=140 二进制拆分.二进制前缀和 #include<cstdio> #include<iostream> using namespace std; typedef long long LL; #define N 100001 int a[N],b[N],c[N]; ; ],sumb[N][]; ]; void read(int &x) { x=; char c=getchar(); while(!isdig…
Problem A. Two distinct points [题解] 显然 , 当l1不等于r2时 , (l1 , r2)是一组解 否则 , (l1 , l2)是一组合法的解 时间复杂度 : O(1) [代码] #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef long double ld; typedef unsigned long long ull; template <typena…