首页 > TAG信息列表 > P1309
洛谷 P1309 瑞士轮 题解
每日一题 day4 打卡 Analysis 暴力+快排(其实是归并排序) 一开始天真的以为sort能过,结果光荣TLE,由于每次只更改相邻的元素,于是善于处理随机数的快排就会浪费很多时间。于是就想到归并排序:归并排序的思想就是合 并两个同序数组的线性方式——每次比较两个有序数组指针指向的值,谁更小(大P1309 瑞士轮 (吸氧了)
P1309 瑞士轮 题解 1.这题可以模拟一下 2.sort吸氧可以过(可能是排序有点慢吧,不开会T) sort排序时注意: return 1 是满足条件,不交换 return 0是不满足,交换 代码(吸氧优化了一下QWQ) // luogu-judger-enable-o2#include<bits/stdc++.h>using namespace std;int n,r,【洛谷p1309】瑞士轮
因为太菜不会写P1310 表达式的值,就只能过来水两篇博客啦qwq 另外这个题我是开o2才过的(虽然是写了归并排序)(可能我太菜写的归并不是还可以“剪枝”吧qwq)哎,果真还是太菜啦qwq 所以准备写归并然后去题解学习正确的不用开O2就可以过的算法; 咱好像忘记添加链接了qwq: 瑞士轮【题目链接】洛谷 P1309 瑞士轮
洛谷 P1309 瑞士轮 传送门 这真的是一道好题,怪我早早没有去做! 这个题题意其实就是每次相邻分数的两个人根据实力值进行比较,然后比出输赢,进行分治,然后不断排序而已 第一眼的思路就是用\(sort\)去做,但是,很遗憾,超时了......仔细算一算,复杂度已经达到了上天的\(O(R*(N+N*\log N))\),所以洛谷P1309 瑞士轮
include<bits/stdc++.h> define maxn 200005 using namespace std; inline int getnum() { int ans = 0; char c; int flag = 1; while (!isdigit(c = getchar()) && c != '-'); if (c == '-') flag = -1; else ans = c - '0'; w