首页 > 其他分享 >闲话 11.2

闲话 11.2

时间:2024-11-02 11:12:15浏览次数:1  
标签:10 ch return int 闲话 ll 11.2 now

也是打上搜了。


小木棍

曾经在题库上做过,数据水就过了,交洛谷发现只有 87pts。

《剪 枝 盛 宴》

  • 钦定长度:最小肯定是最长的那根木棍,最长肯定是所有木棍的总和,并且这个长度一定只能是总和的因数。
  • 选择顺序:如果选一个长的合法,那么选若干个和相同的短的一定合法但不优,因此按长度倒序排序。
  • 如果合法立即回溯。
  • 回溯后立即撤销标记,省略 memset。
  • 每次拼接只会取长度不比上一次选择的木棍长的木棍,可以二分找。
  • 如果某一根木棍不合法,与其长度相同的所有其他木棍均不合法。
  • 如果某根小木棍与当前拼接刚好为钦定长度但不合法,此后一定不会出现合法方案,直接回溯。
点击查看代码
#include<bits/stdc++.h>
#define fo(x, y, z) for(register int (x) = (y); (x) <= (z); (x)++)
#define fu(x, y, z) for(register int (x) = (y); (x) >= (z); (x)--)
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
#define lx ll
inline lx qr()
{
    char ch = getchar(); lx x = 0, f = 1;
    for(; ch < '0' || ch > '9'; ch = getchar()) if(ch == '-') f = -1;
    for(; ch >= '0' && ch <= '9'; ch = getchar()) x = (x << 3) + (x << 1) + (ch ^ 48);
    return x * f;
}
#undef lx
#define qr qr()
#define fi first
#define se second
#define pii pair<int, int>
#define P_B(x) push_back(x)
#define M_P(x, y) make_pair(x, y)
const int Ratio = 0;
const int N = 100 + 5;
const int mod = 998244353;
int n, sum, ans;
int a[N];
bool yz[N], ok;
namespace Wisadel
{
    void Wdfs(int nlen, int nok, int ned, int id)
    {
        if(nlen == ned)
        {
            if(nok == sum / ned){ok = 1; return ;}
            fo(i, 1, n) if(!yz[i])
            {
                yz[i] = 1;
                Wdfs(a[i], nok + 1, ned, i);
                yz[i] = 0;
                if(ok) return ;
                break;
            }
            return ;
        }
        int l = id + 1, r = n;
        while(l < r)
        {
            int mid = (l + r) >> 1;
            if(a[mid] <= ned - nlen) r = mid;
            else l = mid + 1;
        }
        int zc = 0;
        fo(i, l, n) if(!yz[i] && a[i] != zc)
        {
            yz[i] = 1;
            Wdfs(nlen + a[i], nok, ned, i);
            yz[i] = 0;
            if(ok) return ;
            if(nlen + a[i] == ned) return ;
            zc = a[i];
        }
    }
    short main()
    {
        // freopen(".in", "r", stdin), freopen(".out", "w", stdout);
        n = qr;
        fo(i, 1, n) a[i] = qr, sum += a[i];
        ans = sum;
        sort(a + 1, a + 1 + n, [](int a, int b){return a > b;});
        fo(i, a[1], sum) if(sum % i == 0)
        {
            yz[1] = 1;
            Wdfs(a[1], 1, i, 1);
            yz[1] = 0;
            if(ok){ans = i; break;}
        }
        printf("%d\n", ans);
        return Ratio;
    }
}
signed main(){return Wisadel::main();}

买瓜

标签:10,ch,return,int,闲话,ll,11.2,now
From: https://www.cnblogs.com/Ratio-Yinyue1007/p/18521675

相关文章

  • 11.2 炼石模拟赛
    T1贪心即可。T2考虑贪心。观察1不能出玩偶的机子应该最后修。所有钦定不出玩偶的机子都是平凡的,就是假在这里了!观察2所有人一起修机是最优的。观察3对于所有钦定出玩偶的机子,应该按照\(b\)数组从小到大排序后修理。有以上的观察,不难发现应该按照\(b\)数组排序。......
  • 「闲话」NOIP 集训
    10.31因为明天是11.1,所以从今天开始写上午T1没看让输出啥所以一眼会了求所有j看了输出之后,额······诶,其实也对啊,直接根据每个j求出的i区间查分一下就好了,调和级数的复杂度20min打完了,本来以为有些conercase要调一会,但直接过了所有样例,爽!!后记:发现提交时间......
  • 闲话 10.30
    别样的丁真让我讲T2,所以提前写点东西出来。诗人小G首先根据题意,比较好写的是\(\mathcal{O(n^2)}\)的转移:\[f_i=\min_{j=0}^{i-1}\f_{j}+abs(sum_i-sum_j-L-1)^p\]其中\(sum\)为句子长度的前缀和。发现可优化的点是后面一坨柿子,我们把它记为\(G_{i,j}=abs(sum_i-sum_j-......
  • 2024-10-27 闲话
    去年参加icpc杭州站之后在zju和yubai一起玩。当时yubai脱把骑车给我留下了深刻的印象。今年五一和yubai去nihon,在富士山下本栖湖旁边租了一辆电助力车子。在我的请求下,yubai又表演了他的脱把神技:【这里理应有一张照片,但是很遗憾我没找到,于是用一张富士山的照片替代吧......
  • 10.23 闲话
    10.23闲话图论复习还有2天就复赛了,现在暂时不知道做啥题了,写一下这两天复习的图论知识。1.存图方式(1.)邻接矩阵没什么好说的,最简单的存图方式,一眼就会。定义矩阵数组\(a[n][n](n为点的数量数)\),\(a[u][v]=w\)代表\(u,v\)之间存在一条权值为\(w\)的路径。由于采用......
  • 2024-10-21 闲话
    高考后来参加南开强基的校测,教室里面只有她非常清秀。也可能清秀的不是她,我的记忆全都错乱了。可能是她的话故事可以拉得更长,虽然即使这个不是她,故事也可以很长。另一种情况,这个是她,故事也可以很短。这人究竟是不是她可能重要,可能不重要。其实之前脑袋里面只有一个印象,这段时间试......
  • 10.20 闲话
    从初中开始的很长很长一段时间,我的所有OI相关账号的签名都是"JustGoForOI!"或"CJOIerJustGoForOI!"这两句。这大概反映了我当初对于OI的态度是不思考训练的意义,不去想未来的方向,不理会文化课或者或者人际上的一些琐事,全心全意地按照教练的要求去做就行了。至于当......
  • 闲话 24.10.19
    闲话今日推歌:毕业Graduateby天使盐Tenshienfeat.诗岸希望大家幸福。那些你不要的:渐进一例刚过去的STAOIR8T5,很多人用暴力直接草了过去。那么,复杂度真的有保障吗?令\(V=\maxn\in\Theta(n)\),\(A=\mathbbP\cap[1,V]\)。那么枚举\(i\),枚举\(j=n\bmodi\),......
  • 「闲话」CSP 集训记萌(二)
    10.17模拟赛相关模拟赛喜欢捏,之前只有过认为自己做法是正解结果不是的经历,这次T1、T2都认为自己做法不是正解结果却是。省流:T1Dij中的dis数组没赋极大值,不然A了,T2最经典放球问题推错式子,不然A了,应该都不算挂分,因为我是宋词开场Ratio:T1纯Dij板子啊,尝试一下7:30......
  • 闲话 10.16
    今日第一蚌StepstoOne已同步更新于莫比乌斯反演。CF1139D用到一点莫反也是莫反。题目大意:每次从\(\left[1,n\right]\)随机取一个数加入数组\(a_i\),当\(gcd_{i=1}^{len}\a_i=1\)时停止,问\(len\)的期望。直接用期望式子推:\[\begin{aligned}ans&=\sum_{i=1}......