蓝桥杯刷题十四
创始人
2025-05-31 14:16:43
0

1.C 循环

线性同余方程

#include 
#include using namespace std;typedef long long LL;LL exgcd(LL a, LL b, LL &x, LL &y) {if (b == 0) {x = 1, y = 0;return a;}LL d = exgcd(b, a % b, y, x);y -= a / b * x;return d;
}int main() {LL a, b, c, k;while (scanf("%lld%lld%lld%lld", &a, &b, &c, &k), a || b || c || k) {LL x, y, z = 1ll << k;LL d = exgcd(c, z, x, y);if ((b - a) % d)  printf("FOREVER\n");else {x *= (b - a) / d;z /= d;printf("%lld\n", (x % z + z) % z);}}return 0;
}

2.正则问题

理解了这个正则表达式的含义以后,就可以做了,类似于简单的表达式求值的算法,递归和栈都可以

#include 
#include using namespace std;int k;
string s;int dfs() {int res = 0;while (k < s.size()) {if (s[k] == '(') {k ++;res += dfs();k ++;}else if (s[k] == '|') {k ++;res = max(res, dfs());}else if (s[k] == ')') break;else {k ++;res ++;}}return res;
}int main() {cin >> s;return cout << dfs() << endl, 0;
}

3.糖果

IDA*+剪枝(每次选分值最少+去重)

#include 
#include 
#include 
#include using namespace std;const int N = 110, M = 1 << 20;int n, m, k;
vector col[N];
int log2[M];int lowbit(int x)
{return x & -x;
}int h(int state)  // 最少需要再选几行
{int res = 0;for (int i = (1 << m) - 1 - state; i; i -= lowbit(i)){int c = log2[lowbit(i)];res ++ ;for (auto row : col[c]) i &= ~row;}return res;
}bool dfs(int depth, int state)
{if (!depth || h(state) > depth) return state == (1 << m) - 1;// 找到选择性最少的一列int t = -1;for (int i = (1 << m) - 1 - state; i; i -= lowbit(i)){int c = log2[lowbit(i)];if (t == -1 || col[t].size() > col[c].size())t = c;}// 枚举选哪行for (auto row : col[t])if (dfs(depth - 1, state | row))return true;return false;
}int main()
{cin >> n >> m >> k;for (int i = 0; i < m; i ++ ) log2[1 << i] = i;for (int i = 0; i < n; i ++ ){int state = 0;for (int j = 0; j < k; j ++ ){int c;cin >> c;state |= 1 << c - 1;}for (int j = 0; j < m; j ++ )if (state >> j & 1)col[j].push_back(state);}for (int i = 0; i < m; i ++ ){sort(col[i].begin(), col[i].end());col[i].erase(unique(col[i].begin(), col[i].end()), col[i].end());}int depth = 0;while (depth <= m && !dfs(depth, 0)) depth ++ ;if (depth > m) depth = -1;cout << depth << endl;return 0;
}

4.鸣人的影分身

dp题捏

#include 
#include using namespace std;const int N = 11;int main() {int t;  scanf("%d", &t);while (t --) {int n, m;  scanf("%d%d", &m, &n);int f[N][N] = {0}; f[0][0] = 1;for (int i = 0; i <= m; i ++) {for (int j = 1; j <= n; j ++) {f[i][j] = f[i][j - 1];if (i >= j)  f[i][j] += f[i - j][j];}}printf("%d\n", f[m][n]);}return 0;
}

5.糖果

背包问题捏

#include
using namespace std;
typedef pairPII;
typedef long long ll;
const int N=110;
int n,k;
int f[N][N];
int main()
{scanf("%d%d",&n,&k);int w;memset(f,-0x3f,sizeof f);f[0][0]=0;for(int i=1;i<=n;i++){scanf("%d",&w);for(int j=0;j

相关内容

热门资讯

欧冠早报:枪手拜仁直通+13队... 北京时间1月22日凌晨,2025-26赛季欧冠联赛阶段第7轮战罢,以下是今日的欧冠早报。 莱万乌龙+...
黄金、白银巨震!特朗普突然松口... 最新消息。 昨夜尾盘,黄金、白银走出深“V”行情。现货白银一度跳水跌超4.5%,之后快速拉升,截至收...
中行多家一级分行行长、副行长调... 来源:市场资讯 来源:金融人事mini 上周,银行人事分享了中行总行人事变动,本期主要介绍地方分行调...
原创 暴... 2026年1月22日,A股市场记录下一个关键日子:东通退(原东方通)的股票终止交易,正式从交易所摘牌...
宋清辉:市场过热,指数背离基本... 当前A股并非没有上涨空间,但上涨的质量和节奏,显然比点位本身更重要。在成交额逼近4万亿元、杠杆约束趋...
道县中医医院“一站式”血栓拦截... 大众卫生报·新湖南客户端1月16日讯(通讯员 唐海莲 曾玉麟)近日,永州市道县中医医院外二科在导管介...
原创 继... 文|毛巾 编|陈梅希 B站2025年百大UP主盛典如期而至。 无论是社交网站上用户猜百大名单的热情,...
问道2026——第一财经首席经... 来源:第一财经 第一财经邀请15位首席经济学家一起展望全年经济形势。 2025年经济运行成绩单刚刚...
腾讯淡马锡组团护航!湖南鸣鸣很... 湖南鸣鸣很忙商业连锁股份有限公司(简称“鸣鸣很忙”)于1月20日正式启动招股,招股期将持续至1月23...
上市公司花数百万美元给CEO买... 界面新闻记者 | 吕文琦 近期,两起金额高达数百万美元的要员保险安排,先后出现在港股上市公司的公告...
上海电气:预计2025年度净利... 每经AI快讯,上海电气1月21日晚间发布业绩预告,预计公司2025年度归属于母公司所有者的净利润为人...
今晚,油价下调! 据国家发展改革委消息,12月8日24时新一轮成品油调价窗口将开启。调价周期内,国际油价窄幅波动,平均...
货币政策加大宏观调控强度 为贯彻中央政治局会议精神,进一步实施好适度宽松的货币政策,中国人民银行行长潘功胜近日在国新办新闻发布...
国投白银LOF:将于1月22日... 国投瑞银白银期货证券投资基金(LOF)A类基金份额发布二级市场交易价格溢价风险提示及停复牌公告。近期...
2024年度个人所得税综合所得... 一、什么是年度汇算? 年度汇算指的是年度终了后,纳税人汇总一个纳税年度内取得的综合所得收入额,减除费...
原创 三... 2026年的春节脚步渐近,当电影市场摩拳擦掌争夺票房时,休闲零食赛道的“互联网鼻祖”三只松鼠却再次选...
通源环境大宗交易溢价成交3.8... 通源环境01月21日大宗交易平台共发生1笔成交,合计成交量3.88万股,成交金额202.46万元。成...
眼内手术自主机器人:重塑眼科手... 国中科院自动化研究所边桂彬团队研发的眼内手术自主机器人系统,正为眼科手术领域注入革命性力量,有望彻底...
从全球第四、全球第二,看中国汽... 近日,各大车企及行业媒体陆续发布了2024年汽车销量数据。在各类榜单中,比亚迪排名均十分优异:202...