「CF 1525A」Potion-making

Link.

显然。

#include<bits/stdc++.h>
typedef long long ll;
template<typename T>void sf(T &x){x=0;T f=0;char c=getchar();for(;c<'0'||c>'9';c=getchar())if(c=='-')f=1;for(;c>='0'&&c<='9';c=getchar())x=(x<<3)+(x<<1)+(c^'0');if(f)x=-x;}
template<typename T>void pf(T x,char l='\n'){static T s[100],t;if(x<0)putchar('-'),x=-x;do s[++t]=x%10,x/=10;while(x);while(t)putchar(s[t--]^'0');putchar(l);}
int gcd(int x,int y){return !y?x:gcd(y,x%y);}
int main()
{
int T,k;
sf(T);
while(T-->0)
{
sf(k);
int p1=k,p2=100-k,x=gcd(p1,p2);
p1/=x;
p2/=x;
pf(p1+p2);
}
return 0;
}

「CF 1525B」Permutation Sort

Link.

注意到答案只有 \(0/1/2/3\),分类讨论即可。

吃了三发罚时

#include<bits/stdc++.h>
typedef long long ll;
template<typename T>void sf(T &x){x=0;T f=0;char c=getchar();for(;c<'0'||c>'9';c=getchar())if(c=='-')f=1;for(;c>='0'&&c<='9';c=getchar())x=(x<<3)+(x<<1)+(c^'0');if(f)x=-x;}
template<typename T>void pf(T x,char l='\n'){static T s[100],t;if(x<0)putchar('-'),x=-x;do s[++t]=x%10,x/=10;while(x);while(t)putchar(s[t--]^'0');putchar(l);}
int T,n,a[60];
int main()
{
for(sf(T);T;--T)
{
sf(n);
for(int i=1;i<=n;++i) sf(a[i]);
int flag=1;
for(int i=2;i<=n;++i)
{
if(a[i]!=a[i-1]+1)
{
flag=0;
break;
}
}
if(!flag)
{
if(a[1]==n && a[n]==1) puts("3");
else if(a[n]==n || a[1]==1) puts("1");
else puts("2");
}
else puts("0");
}
return 0;
}

「CF 1525C」Robot Collisions

Link.

显然我不会。

#include <bits/stdc++.h>
using namespace std;
#define int long long
#define mp make_pair
template<typename T>void sf(T &x) {
x = 0;
T f = 0;
char c = getchar(); for (; c < '0' || c > '9'; c = getchar())
if (c == '-')
f = 1; for (; c >= '0' && c <= '9'; c = getchar())
x = (x << 3) + (x << 1) + (c^'0'); if (f)
x = -x;
}
template<typename T>void pf(T x, char l = '\n') {
static T s[100], t; if (x < 0)
putchar('-'), x = -x; do
s[++t] = x % 10, x /= 10; while (x)
; while (t)
putchar(s[t--]^'0'); putchar(l);
}
struct st {
int a, b, id;
} Sts[300005], Uji[300005], Qql[300005];
bool cmp(st A, st B) {
return A.a < B.a;
}
int reait[300005];
int n, m;
int U(int x, int y) {
int res = 0; if (Sts[x].a < Sts[y].a) {
if (Sts[x].b == 0)
res += Sts[x].a, Sts[x].a = 0; if (Sts[y].b == 1)
res += (m - Sts[y].a), Sts[y].a = m; return (res + abs(Sts[x].a - Sts[y].a)) / 2;
} else {
if (Sts[x].b == 1)
res += (m - Sts[x].a), Sts[x].a = m; if (Sts[y].b == 0)
res += Sts[y].a, Sts[y].a = 0; return (res + abs(Sts[x].a - Sts[y].a)) / 2;
}
}
signed main() {
int T;
sf(T); while (T--) {
sf(n), sf(m); for (int i = 1; i <= n; i++)
reait[i] = -1; int rks = 0, tss = 0; for (int i = 1; i <= n; i++) {
sf(Sts[i].a);
Sts[i].id = i;
} for (int i = 1; i <= n; i++) {
char res = getchar(); while (res != 'L' && res != 'R')
res = getchar(); Sts[i].b = res == 'R';
} for (int i = 1; i <= n; i++) {
if (Sts[i].a & 1)
Qql[++tss] = Sts[i];
else
Uji[++rks] = Sts[i];
} sort(Uji + 1, Uji + rks + 1, cmp);
sort(Qql + 1, Qql + tss + 1, cmp);
stack <int> Q;
Q.push(1); for (int i = 2; i <= rks; i++) {
if (Uji[i].b == 0 && !Q.empty()) {
int u = Q.top();
Q.pop();
reait[Uji[i].id] = reait[Uji[u].id] = U(Uji[i].id, Uji[u].id);
} else
Q.push(i);
} while (!Q.empty()) {
int u = Q.top();
Q.pop(); if (!Q.empty()) {
int v = Q.top();
Q.pop();
reait[Uji[u].id] = reait[Uji[v].id] = U(Uji[u].id, Uji[v].id);
}
} Q.push(1); for (int i = 2; i <= tss; i++) {
if (Qql[i].b == 0 && !Q.empty()) {
int u = Q.top();
Q.pop();
reait[Qql[i].id] = reait[Qql[u].id] = U(Qql[i].id, Qql[u].id);
} else
Q.push(i);
} while (!Q.empty()) {
int u = Q.top();
Q.pop(); if (!Q.empty()) {
int v = Q.top();
Q.pop();
reait[Qql[u].id] = reait[Qql[v].id] = U(Qql[u].id, Qql[v].id);
}
} for (int i = 1; i <= n; i++)
printf("%lld ", reait[i]); printf("\n");
} return 0;
}

「CF 1525D」Armchairs

Link.

设 \(f(i,j)\) 表示考虑把第 \(j\) 个人放进前 \(i\) 个座位里的方案,转移。

多久没写 DP 了啊,这种水平的 DP 都写漏一堆东西。

#include<bits/stdc++.h>
typedef long long ll;
template<typename T>void sf(T &x){x=0;T f=0;char c=getchar();for(;c<'0'||c>'9';c=getchar())if(c=='-')f=1;for(;c>='0'&&c<='9';c=getchar())x=(x<<3)+(x<<1)+(c^'0');if(f)x=-x;}
template<typename T>void pf(T x,char l='\n'){static T s[100],t;if(x<0)putchar('-'),x=-x;do s[++t]=x%10,x/=10;while(x);while(t)putchar(s[t--]^'0');putchar(l);}
int n,a[5010],fr[5010],t0,oc[5010],t1,op[5010];
ll dp[5010][5010],ans=std::numeric_limits<ll>::max();
inline int fs(int x){return x<0?-x:x;}
int main()
{
sf(n);
for(int i=1;i<=n;++i)
{
sf(a[i]);
if(a[i]) oc[++t1]=i;
else fr[++t0]=i;
}
for(int i=1;i<=t1;++i) for(int j=0;j<=n;++j) dp[i][j]=1e18;
for(int i=1;i<=t1;++i) for(int j=1;j<=n;++j) {
dp[i][j]=dp[i][j-1];
if(!a[j]) dp[i][j]=std::min(dp[i][j],dp[i-1][j-1]+fs(oc[i]-j));
}
pf(dp[t1][n]);
return 0;
}

「CF 1525E」Assimilation IV

Link.

// Oops, something went wrong.

「CF 1525F」Goblins And Gnomes

Link.

// Oops, something went wrong.

Solution Set -「CF 1525」的更多相关文章

  1. Diary / Solution Set -「WC 2022」线上冬眠做噩梦

      大概只有比较有意思又不过分超出能力范围的题叭.   可是兔子的"能力范围" \(=\varnothing\) qwq. 「CF 1267G」Game Relics   任意一个 ...

  2. Solution Set -「ARC 107」

    「ARC 107A」Simple Math   Link.   答案为: \[\frac{a(a+1)\cdot b(b+1)\cdot c(c+1)}{8} \] 「ARC 107B」Quadrup ...

  3. Solution -「CF 1342E」Placing Rooks

    \(\mathcal{Description}\)   Link.   在一个 \(n\times n\) 的国际象棋棋盘上摆 \(n\) 个车,求满足: 所有格子都可以被攻击到. 恰好存在 \(k\ ...

  4. Solution -「CF 1622F」Quadratic Set

    \(\mathscr{Description}\)   Link.   求 \(S\subseteq\{1,2,\dots,n\}\),使得 \(\prod_{i\in S}i\) 是完全平方数,并最 ...

  5. Solution -「CF 923F」Public Service

    \(\mathscr{Description}\)   Link.   给定两棵含 \(n\) 个结点的树 \(T_1=(V_1,E_1),T_2=(V_2,E_2)\),求一个双射 \(\varph ...

  6. Solution -「CF 923E」Perpetual Subtraction

    \(\mathcal{Description}\)   Link.   有一个整数 \(x\in[0,n]\),初始时以 \(p_i\) 的概率取值 \(i\).进行 \(m\) 轮变换,每次均匀随机 ...

  7. Solution -「CF 1586F」Defender of Childhood Dreams

    \(\mathcal{Description}\)   Link.   定义有向图 \(G=(V,E)\),\(|V|=n\),\(\lang u,v\rang \in E \Leftrightarr ...

  8. Solution -「CF 1237E」Balanced Binary Search Trees

    \(\mathcal{Description}\)   Link.   定义棵点权为 \(1\sim n\) 的二叉搜索树 \(T\) 是 好树,当且仅当: 除去最深的所有叶子后,\(T\) 是满的: ...

  9. Solution -「CF 623E」Transforming Sequence

    题目 题意简述   link.   有一个 \(n\) 个元素的集合,你需要进行 \(m\) 次操作.每次操作选择集合的一个非空子集,要求该集合不是已选集合的并的子集.求操作的方案数,对 \(10^9 ...

  10. Solution -「CF 1023F」Mobile Phone Network

    \(\mathcal{Description}\)   Link.   有一个 \(n\) 个结点的图,并给定 \(m_1\) 条无向带权黑边,\(m_2\) 条无向无权白边.你需要为每条白边指定边权 ...

随机推荐

  1. wait_timeout and interactive_timeout 参数

    wait_timeout and interactive_timeout 参数 非交互模式连接:通常情况下,应用到RDS实例会采用非交互模式,具体采用哪个模式需要查看应用的连接方式配置,比如PHP通过 ...

  2. CANoe学习笔记(五):Diva自动化测试工程

    内容: Diva工程的建立 Diva工程的配置 测试条例选择 一.新建一个Diva工程 左上角选择New,然后配置好下面部分 二.配置Diva工程 1. 2. 3.配置一些时间参数,按需求填写 4.其 ...

  3. JPA在事务结束时自动更新查询数据

    目录 现象 产生的原因 解决方法 现象 最近解决了一个困惑几天的bug,数据库里的某一些记录莫名其妙的被刷新了,排查过代码跟应用日志,可以确定不是代码执行的更新.直到今天看到了一条日志,在事务提交时报 ...

  4. 前端树形结构图组件 tree组件,可拖拽移动,点击展开收缩,无限添加子集

    快速实现树形结构图组件 tree组件,可拖拽移动,点击展开收缩,无限添加子集; 下载完整代码请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin?id=1 ...

  5. 基于uni-app+vue3渲染markdown格式|uniapp软键盘顶起问题解决方案

    前些时候有给大家分享一篇uni-app+vite4+uview-plus搭建跨端项目.今天主要分享下在uniapp中渲染markdown语法及uniapp中软键盘弹起,页面tabbar或顶部自定义na ...

  6. pixel 3xl 编译安卓与内核并烧入全流程(含安卓源码部分编译)

    pixel 3xl 编译安卓与内核并烧入全流程(含安卓源码部分编译) 目录 pixel 3xl 编译安卓与内核并烧入全流程(含安卓源码部分编译) 环境搭建 安卓源码下载 一.准备下载环境 1.安装Py ...

  7. 【Python】万字长文,Locust 性能测试指北(上)

    Locust Locust 是比较常见的性能测试工具,底层基于 gevent.官方介绍 它是一款易于使用.可编写脚本且可扩展的性能测试工具,可以让我们使用常规 Python 代码定义用户的行为,而不必 ...

  8. java后台导出表格文件

    Java类所需jar包 import java.io.File; import java.io.IOException; import java.io.InputStream; import java ...

  9. 多app应用(推荐方式)

    多app应用目录结构 项目单独一个app结构: 多个app: 多个app放在一个apps文件夹中, 在根目录下创建apps的文件夹 操作: 没勾选template,那么项目根目录就没有template ...

  10. Redis的设计与实现(2)-链表

    链表在 Redis 中的应用非常广泛, 比如列表键的底层实现之一就是链表: 当一个列表键包含了数量比较多的元素, 又或者列表中包含的元素都是比较长的字符串时, Redis 就会使用链表作为列表键的底层 ...