#include<iostream> #include<cstdio> #include<algorithm> using namespace std; int x[100005], y[100005]; int main() { int n; while(scanf("%d",&n) != EOF) { for(int i = 1; i <= n; i ++) scanf("%d%d",&x[i],&y[i]); sort(x+1,x+1+n); sort(y+1,y+1+n); long long ans = 0; for(int i = 1; i < n; i ++) // segment x[i+1]-x[i] will be passed i*(n-i)*2 times, so does y { //ans += (x[i+1]-x[i])*i*(n-i)*2 + (y[i+1]-y[i])*i*(n-i)*2; long long tmp = ( x[i+1]-x[i] + y[i+1]-y[i] ); tmp *= i; tmp *= (n-i); tmp *= 2; ans += tmp; } ans /= n; ans /= (n-1); // totally n*(n-1) routes printf("%lld\n",ans); } }
时间: 2023-06-13 14:03:23 浏览: 163
好好的好的,好的,我好的,我可以好的,我可以用好的,我可以用中好的,我可以用中文好的,我可以用中文回好的,我可以用中文回答好的,我可以用中文回答您好的,我可以用中文回答您的好的,我可以用中文回答您的问题好的,我可以用中文回答您的问题。好的,我可以用中文回答您的问题。请好的,我可以用中文回答您的问题。请问好的,我可以用中文回答您的问题。请问您好的,我可以用中文回答您的问题。请问您有好的,我可以用中文回答您的问题。请问您有什好的,我可以用中文回答您的问题。请问您有什么好的,我可以用中文回答您的问题。请问您有什么需要好的,我可以用中文回答您的问题。请问您有什么需要我好的,我可以用中文回答您的问题。请问您有什么需要我解好的,我可以用中文回答您的问题。请问您有什么需要我解答好的,我可以用中文回答您的问题。请问您有什么需要我解答的好的,我可以用中文回答您的问题。请问您有什么需要我解答的问题好的,我可以用中文回答您的问题。请问您有什么需要我解答的问题吗好的,我可以用中文回答您的问题。请问您有什么需要我解答的问题吗?
相关问题
#include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<ctime> #include<iostream> #include<algorithm> #include<map> #include<stack> #include<queue> #include<vector> #include<set> #include<string> #define dd double #define ll long long dd PI = acos(-1); using namespace std; const ll MAXN = 1e5 + 5; const ll INF = 1e9 + 5; ll n; struct node { ll x, y; }s[5000]; ll dp[MAXN] = { 0 }; int main() { //ios::sync_with_stdio(false); ll n, m; cin >> n >> m; for (ll i = 1; i <= n; i++) { cin >> s[i].x >> s[i].y; } for (ll i = 1; i <= n; i++) { for (ll j = m; j >= s[i].x; j--) { dp[j] = max(dp[j], dp[j - s[i].x] + s[i].y); } } cout << dp[m] << endl; }
这是一段动态规划求解背包问题的代码,用来求解一个容量为m的背包能够装下的最大价值。具体实现过程为:
1. 定义一个结构体node,用来存储物品的重量和价值。
2. 读入物品数量n和背包容量m,然后读入每个物品的重量和价值。
3. 使用二重循环,遍历每一个物品,然后从大到小枚举背包容量j,更新dp[j]的值,表示容量为j的背包能够装下的最大价值。
4. 最后输出dp[m]的值,即容量为m的背包能够装下的最大价值。
值得注意的是,这段代码中还定义了一些常量和宏定义,如MAXN、INF等,以及一些头文件和命名空间的使用。
#include<iostream> #include<cmath> #include<ctime> #include<cstdio> #include<fstream> #include<algorithm> #include<deque> #include<queue> #include<string> #include<map> #include<stack> #include<set> //#include<windows.h> using namespace std; int main() { int a[4][4],b[16]= { 0 } ,k=0; srand(time(0)); for (int i=0;i<4;i++) { for (int j=0;j<4;j++) { a[i][j]=rand()%10; if(a[i][j]%2==1) { b[k]=a[i][j]; ++k; } } } for (int i=0;i<k;++i) { cout<<b[i]<<" "; } return 0; }
这是一个 C++ 的程序,它生成一个 $4\times4$ 的矩阵 $a$,并将其中的奇数存入数组 $b$ 中,最后输出 $b$ 数组的内容。具体实现过程是:首先通过 `srand(time(0))` 函数初始化随机数种子,接着用 `rand()%10` 生成 $0$ 到 $9$ 之间的随机整数填充矩阵 $a$,如果矩阵中的元素是奇数,则将其存入数组 $b$ 中,最后依次输出 $b$ 数组中的元素。
阅读全文