聊不完的我们
追踪最近的用户名外显变动记录。
最近的文章、讨论、云剪贴板与社区记录
~~被题面卡了半天。~~ ## 简化题意: 有 $n$ 个城市,$m$ 条单向道路。保证每两个城市之间存在道路使得两个城市连通,问最多可以有几个首都城市,并升序输出可能作为首都城市的编号。其中首都城市的定义为:可以从本城市前往其他城市,而其他城市不能前往首都城市。 ## 思路: 由于是单向道路,因此只需要找到所有入度为…
### 思路: 考虑贪心,既然只有 $0$ 和 $1$,那么有两种情况:$1$ 的总数为偶数个,异或后和为 $0$,若有奇数个 1 那么异或和为 $1$。尽量让最终答案为 $1$。那么只需要判断:轮到我操作时,若我手上的 $1$ 的个数为偶数个,就看看能不能通过交换使个数增加 $1$ 或减少 $1$,使我的和为 $1$…
### 思路: 先解析操作,每次操作后把两个数互换,其对应的异或和也会重新计算。设第 $i$ 次操作时统计数组 $a$ 的异或和为 $ans$,交换的两个数为 $a_i$ 和 $b_i$,那么进行交换操作后相当于是:$ans \oplus a_i \oplus b_i$。 贪心获取最大异或和。首先考虑输赢规则,是根据谁…
## 题目大意: 给你一个字符串保证全都是小写字母,问是否满足条件: 1. 该字符串需要包括 26 个小写字母 1. 该字符串的一个字串(不包括本身)是否满足条件 1。 若两个条件都满足输出 `Yes`,否则输出 `No` 并输出它不满足的条件。 ## 思路: 利用 `map` 存储每个字符的信息,若该字符串不包括 $…
## 题目大意: 给定 $n$ 个节点的边权为 1 的无向图,其中包括黑色节点和白色节点。选取至少 $m$ 个黑色节点,使得任意两个黑色节点之间的最短路最大值最小。 ## 思路: 先根据题目建边,边权设 1。暴力枚举各个点之间的最短路(其实是 `Floyd`)。每次选举两个黑色节点最为最大长度,若路径上包括 $m$ 个…
## 题目大意: 有 $n$ 个孩子,$m$ 个朋友关系,朋友相同的孩子们被分在一个组里,有 $k$ 个数字,求每个孩子的分配方案使得每个组至少包括数字 $1 \sim k$。 ## 思路: 把 $m$ 个关系使用并查集合并,统计每组的孩子数,若当前组孩子数小于 $k$,直接输出 `impossible`,因为不可能凑…
## 简化题意: 有 $n$ 个物品和初始金额 $W$,每个物品有价格 $w_i$ 和 美丽度 $v_i$,我们可以免费获得最多 $k$ 件物品,求可以花费 $W$ 可获得的最大美丽度为多少。 ## 思路: 对于如何利用这 $k$ 次零元购,可以想到两种思路: 1. 选取 $k$ 个美丽度最大的。 2. 选取 $k$…
在讨论《【11.19 更新】CSP 2025 奖项认证分数线参考数据》回复:
我好想你,在每一个夜里
在文章《【CSP-S2025】HE 赛区代码有趣行为大赏》发表评论:
qp
在讨论《30pts求条》回复:
@[HarryHyl](luogu://user/1256042)奥奥,已改,谢谢
``` #include using namespace std; #define int long long #define endl '\n' #define ll f > 1; build(ll,l,mid); build(rr,mid + 1,r); get_num(f); } void send(int f,…
在讨论《坐标HE,关于CSP-J和CSP-S》回复:
HE J 242 S 97 同求
``` #include using namespace std; #define int long long #define endl '\n' int f[114514]; int ans = 1; int n,a[114514]; signed main(){ ios::sync_with_stdio(0); c…
在讨论《爆零求调》回复:
你要不要看看你写了些什么 ``` while(x n){ break; } else if(x==n){ ans++;break; } x+=ss(x); } ```
定义 $f_x$ 为有多少个数经过若干次操作可以变成 $x$,而我们的 $f_x$ 没有算上 $x$ 本身(不进行操作的情况),因此最终答案为 $f_x + 1 $。 设一个数 $a$ 经过操作后可以得到数 $b$,得到转移方程:$f_b = f_b + f_a + 1$。对于每个 $b$,若其大于 $n$,那么统计它…
``` #include using namespace std; #define endl '\n' #define int long long const int N = 16010; int f[N]; vector g[N]; int ans = -1; int n; int a[N]; inline void…
``` #include using namespace std; typedef long long ll; #define endl '\n' const int N = 110; ll tf[N][N]; ll df[N][N]; ll n,m,r; ll rmb[N],rp[N],ti[N]; int main…
``` #include using namespace std; #define int long long #define endl '\n' const int N = 1e5 + 10; int a[N]; int n,k; bool pd(int m){ int cnt = 0; int p = 0; for…
在讨论《10pts求条》回复:
@[Scean_Tong](luogu://user/725265)唐死我了,谢谢老师
在讨论《10pts求条》回复:
@[suhaoyuan](luogu://user/824341)谢谢 已A
```cpp #include using namespace std; typedef long long ll; #define endl '\n' #define you return #define have 0 #define no ; #define egg } const int N = 5e4 + 10…
提供一种~~非常规~~做法。 ## 问题: 题目大意:给定一个 01 串 $a$,每次可以选择一个 $a_i$ 进行取反操作**且 $a_{1 \sim i}$ 中的元素下标减一**,即 $a_{k-1} \gets a_k$。并将 $a_0$ 的值赋到 $a_i$,代价为 $i$。求将 01 串 $a$ 中元素全部转…
在讨论《求优化》回复:
@[medal_dreams](luogu://user/1271321)TLE 30pts
```cpp #include using namespace std; #define endl '\n' typedef long long ll; priority_queue >q;//降序 存时间和票价 bool f[1002]; int n,ans; int main(){ ios::sync_with_s…
```cpp #include using namespace std; typedef long long ll; #define endl '\n' #define you return #define have 0 #define no ; #define egg } int s1,s2,s3,s4,n; int…
``` #include using namespace std; const int N = 5e5+10; int tree[N][27]; int cnt[N]; char s[N]; int n,m,tot = 1; int main(){ ios::sync_with_stdio(0); cin.tie(0)…
在讨论《求助!!!》回复:
@[wzxujiacheng__](luogu://user/1339210) ``` #include using namespace std; int t,n; int main(){ scanf("%d",&t); while(t--){ scanf("%d",&n); bool d=false; for(int…
在讨论《关于csp-j》回复:
@[zhizhenyaohanyu](/user/1271351) 今年肯定比69低 以咱们学校的训练强度能过
在讨论《30pts求调玄关》回复:
@[liruizhou_lihui](/user/1053122) ``` if(g[x][y]||x>n||y>m||x<1||y<1) { return; } ``` 标记成1再进dfa(xx,yy)然后他是1在直接退出??
在讨论《C++TLE》回复:
@[maimai_slide_madman](/user/1271334) 666他连m都没输入