首页 > 其他分享 >浙江理工大学每日一题3.14

浙江理工大学每日一题3.14

时间:2023-03-14 20:33:48浏览次数:44  
标签:GCC 理工大学 int sum 3.14 pragma 一题 optimize

点击查看代码
#pragma GCC optimize(1)
#pragma GCC optimize(2)
#pragma GCC optimize(3, "Ofast", "inline")
#include <bits/stdc++.h>
typedef long long ll;
using namespace std;
const int N = 1100;
unordered_set<int> q;
int sum[N], ans[N], s[N], n;
bool flag;
void dfs(int i, int l, int r, int suml, int sumr)
{
    if (l > r)//此时说明数组已经填完
    {
        int a = 0;
        for (int i = 1; i <= n; i++)
            a += ans[i];
        if (a != sum[n * 2])
            return;
        flag = true;
    }
    if (flag)
        return;
    int qian = sum[i] - suml;//假设第i个是前缀
    int hou = sum[i] - sumr;
    if (q.find(qian) == q.end() && q.find(hou) == q.end())
        return;
    if (q.find(qian) != q.end())
    {
        ans[l] = qian;
        dfs(i + 1, l + 1, r, suml + qian, sumr);
    }
    if (flag)
        return;
    if (q.find(hou) != q.end())
    {
        ans[r] = hou;
        dfs(i + 1, l, r - 1, suml, sumr + hou);
    }
}
int main()
{
    int m;
    cin >> n;
    for (int i = 1; i <= n * 2; i++)
        cin >> sum[i];
    sort(sum + 1, sum + n * 2 + 1);
    cin >> m;
    while (m--)
    {
        int x;
        cin >> x;
        q.insert(x);
    }
    dfs(1, 1, n, 0, 0);
    for (int i = 1; i <= n; i++)
        cout << ans[i] << " ";
    system("pause");
    return 0;
}

标签:GCC,理工大学,int,sum,3.14,pragma,一题,optimize
From: https://www.cnblogs.com/myy-zzb/p/17216250.html

相关文章

  • 2023.3.14结对总结
    今天建立了数据库的链接,完善了Android个人作业,构思一条线上车站的查找函数,输入起始站得到线路1输入终止站得到线路2,将线路1与线路2对比得到一条线的路线。   ......
  • 3.14双人总结
    1、数据库设计:total_stationid;序号routine;线路sta_routine;第几站station;站名页面设计<%@taglibprefix="c"uri="http://jav......
  • 牛客 2022年中国高校计算机大赛-团队程序设计天梯赛(GPLT)上海理工大学校内选拔赛 签到
    序题号标题已通过代码通过率我的状态AA+BProblem点击查看1705/4843通过,(贪心)BKomorebi的数学课点击查看1372/5349通过(快速幂)C次佛锅点击查看1070/5160......
  • 2023年中国高校计算机大赛-团队程序设计天梯赛(GPLT)上海理工大学校内选拔赛
    https://ac.nowcoder.com/acm/contest/52244A-AXorBProblem给定序列\(a_i\),求有多少数对\((i,j)\)满足\(a_i\oplusa_j=0\),其中\(\oplus\)表示按位异或......
  • 每日一题11
    每日一题11题目:121.买卖股票的最佳时机思路:找出最低值,然后再找出其后的最高值即可!classSolution{publicintmaxProfit(int[]prices){intmax=0;......
  • 每日一题10_动态规划
    题目:70.爬楼梯思路:转移方程:斐波那契数列代码:classSolution{publicintclimbStairs(intn){//a[n]=a[n-1]+a[n-2],a1=1,a2=2;关键retur......
  • 《每日一题》 Day3
    #include<iostream>usingnamespacestd;intmain(){//请在此输入您的代码intnum=0;for(inti=1;i<=2020;i++){if(i%10==2)num++;if(i/10%10==2......
  • 每日一题9
    每日一题9题目:5.最长回文子串思路:dppublicclassSolution{publicStringlongestPalindrome(Strings){intlen=s.length();if(len<......
  • 每日一题8
    每日一题8题目:3.无重复字符的最长子串解题思路:滑动窗口代码:classSolution{publicintlengthOfLongestSubstring(Strings){Set<Character>set=n......
  • 浙江理工大学每日一题——快速幂,线性同余方程,BSGS
    题目描述原题来自:SDOI2011你被要求设计一个计算器完成以下三项任务:给定y,z,py,z,p,计算y^x\bmodpyzmodp的值;给定y,z,py,z,p,计算满足x\timesy\equivz\(\bmod......