题目大意
求解无限连分数 x = a + 1/(a + 1/(a + …)) 的值。即求解方程 x = a + 1/x 的正根。
AC代码 牛顿迭代法
因为是无限的递归,可以把a下面的看成一个整体,其实也是x,然后你就把这个问题转化成了求一元二次方程。
1 |
|
求解无限连分数 x = a + 1/(a + 1/(a + …)) 的值。即求解方程 x = a + 1/x 的正根。
AC代码 牛顿迭代法
x=a+a+a+a+⋯111
因为是无限的递归,可以把a下面的看成一个整体,其实也是x,然后你就把这个问题转化成了求一元二次方程。
x=a+x1
1 | #include <iostream> |
有 N 个候选人争夺 M 个席位,共有 K 张票。目前已知每个候选人已获得的票数,以及剩余未投的票数。对于每个候选人,判断在最坏情况下(即剩余票数的分配对他最不利时),他是否还能通过获得一定数量的剩余票数来确保当选(进入前 M 名)。如果是,求出他至少需要再获得多少票;否则输出 -1。
二分答案,检查器的设计重点在于
// 防止选用自己作为自己的竞争对手
1 | if(idx-needOver-rectifyIdx<0) // <0 说明人不够了,一共就没那么多人(n=m) |
https://atcoder.jp/contests/abc373/submissions/58823933
二分检查器的核心行(加粗行)思路

1 | #include <iostream> |
我现在的想法就是我认为这就是博弈论,就是我投的票要竭力使这个人掉出m人的队列,而然后剩余的票一定是投在这个人身上
ans[i]=ceil((remain-diff)*1.0/(cnt+1));的来历

半成品代码
1 | #include <iostream> |
https://atcoder.jp/contests/abc373/submissions/58808859
五彩缤纷的提交
我做着做着发现完全不需要分两种情况,这个提交是分两种情况的。
然后check()可以用前缀和优化
1 | #include <iostream> |
给定一棵树,边有边权。需要在树上选一条长度不超过 s 的路径(核心路径),使得树上所有点到这条路径的距离的最大值最小。
https://www.luogu.com.cn/record/178248030 50pts TLE
1 | #include <iostream> |
反向建边,然后注意bfs的逻辑一定要清楚,要以什么为当前点,什么为父节点,不要混淆。
1 | #include <iostream> |
这个代码稍微有点搞笑,样例都没过
https://atcoder.jp/contests/abc373/submissions/58559275
1 | #include <iostream> |
我仔细想了一下这个问题,发现如果不知道次序就很难解,于是我仔细开始想拓扑排序的可能性。
想不到确实不是。
这句第一个条件其实是没有重复路,二条件是规定有向图,没提到过无环

而且就算知道次序也会坐牢

可以走反边5→2→1→3→6(其中 2→1 以及 3→6 是反边)
相比于最后一次TLE背包提交,加了以下这些
1 | for(int j=1;j<=x-sumYen;j++) { // 背包容量为钱,背包价值为生产力 |
1 | if(sumYen>x) |
主要思路是二分答案加背包dp
背包容量为钱,背包价值为能加工多少产品
通过背包dp让加工产品最大化
1 | // https://atcoder.jp/contests/abc374/tasks/abc374_e |
这个程序实际上没啥太大问题,但是即便开long long minYen还是超范围溢出了。
这个题目再次证明了,二分的题目r不能设太大,一个是复杂度,还有一个是溢出。
1 | // https://atcoder.jp/contests/abc374/tasks/abc374_e |
原来两台机子都能用!那check()函数写起来是比较麻烦
1 | Both machines S_i and T_i can be used for process i. |
AC 64 个点 https://atcoder.jp/contests/abc374/submissions/58537475
加上了对于组合的判定
1 | // https://atcoder.jp/contests/abc374/tasks/abc374_e |
我怀疑是我的向上取整模版的问题
1 | #include <iostream> |
1 | 0 |
毫无疑问,0/782=0,你就算加ceil()也应该是0,但显然我们的模版出了问题。
哎,用系统ceil()提交了一遍,发现又WA了,和前面一模一样,只能说就这样吧,累了。
https://atcoder.jp/contests/abc374/submissions/58539387
1 | // https://atcoder.jp/contests/abc374/tasks/abc374_e |
引入了性价比概念,但发现连样例都过不了😂,还是要用dp。
1 | // https://atcoder.jp/contests/abc374/tasks/abc374_e |
将中间的判定改为了背包dp,果然这种通用做法就是应用性广泛且经过证明
// 就TLE了3个点 https://atcoder.jp/contests/abc374/submissions/58545771
1 | // https://atcoder.jp/contests/abc374/tasks/abc374_e |