首页 > TAG信息列表 > freopen
2022秋季体验营C++试题-解析
目录2022秋季体验营C++试题-解析小学C++组:T271184 挑水(water)T271196 挖竹笋(bamboo)T271182 建房子(home)初中C++组T273321 足球赛(football)T273322 倒酒(pourwine)T273323 玩具(toy) 2022秋季体验营C++试题-解析 题目我已经上传到洛谷了,点击问题即可跳转。 小学C++组: T271184 挑水(water)题解 洛谷 P3915 【树的分解】
1## P3915 树的分解 题目描述 给出\(N\)个点的树和K,问能否把树划分成\(\frac{N}{K}\)个连通块,且每个连通块的点数都是\(K\)。 解题思路 分析样例: 「\(sample1\)」 可被划分为\(1\).\(2\)、\(3\).\(4\)两个大小为\(2\)的连通块。 「\(sample2\)」20220723
fft solve(l,r) 只与区间长度有关,可以改写成始终 \(l=0\) 打表可知每次取最大的 \(2^{k}<n\) 作为分端点最优。递推出 \(f[0]=1,f[i]=2f[i-1]+i2^{i}\) 表示 \([0,2^{i})\) 的答案,每次枚举二进制中的 \(1\),答案为 \(\sum_{\text{n的第i位是1}}(i+1)2^{i+1}+f[i]-(ctz(n)+1)2^{ctz(CodeTON Round 2(持续更新中)
Preface 现在菜的真实啊……比赛的时候打的慢就算了还天天写假算法,可怜…… ABCD用了1h,然后E以为不会爆long long(主要我的做法很奇怪很脑残),当场去世 A. Two 0-1 Sequences 签到题,首先我们发现一个先决条件:a的后\(m-1\)位必须和b的后\(m-1\)位相等,因为修改影响不到后面 我们发现操接水问题(NOIP 2010 PJT2)
题目: 使用优先队列。开优先队列:priority_queue<int,vector<int>,greater<int>> que;1.输入输入 n(<=10000),m(<=100)(m<=n)将输入的打水时间存入a数组中。2.处理数据2.1遍历a[i]数组,i<=m时,将a[i]推入que中。 i>m时,将a[i]加上que.front(),再que.pop(),最后将a[i]入队。3.输2015-2016 ACM-ICPC, NEERC, Northern Subregional Contest
2015-2016 ACM-ICPC, NEERC, Northern Subregional Contest A - Alex Origami Squares 长为h, 宽为w 如果w * 3 > h,则正方体边长为w 如果w * 3 < h,则正方体边长为max(h / 3, w / 2) #include <algorithm> #include <cstring> #include <iostream> #include <map>【题解】Educational Codeforces Round 83(CF1312)
A.Two Regular Polygons 假设构造多边形的边数为 \(n\),给定多边形的边数为 \(m\),若顶点完全覆盖也就意味着给定的多边形可以被平均分成 \(n\) 份,也就是 \(m\) 是 \(n\) 的倍数 点击查看代码 #include<bits/stdc++.h> using namespace std; int main(){ int t; cin>>t;2022/7/15 CSP-S模拟题总结
题单贴贴 A.烽火传递 其实就是一道单调队列优化 \(DP\),挂分是因为弹出队尾的条件 \(f[q[r]]>=f[i]\) 写成了 \(a[q[r]]>=a[i]\) (悲); AC code #include<bits/stdc++.h> using namespace std; inline int read(){ int s=0,f=1; char ch=getchar(); while(!isdigit(ch)){ if(「2017 山东一轮集训 Day6」子序列
复盘 \(\color{black}{\text{c}}\color{red}{\text{yx}}\) 讲的题,我是不会告诉你我不知道他网名的。 这可以来一手反复鞭尸( Description 区间本质不同子序列,母串长度 \(n\) ,询问 \(q\) 次,字符集大小 \(|\sum|\) 。 \(n,\ q\leq 10 ^ 5,\ |\sum| \leq 9\) Analysis 本来还有一个区我的马蜂
真的是,到最后还是从快读的行列里退出来了。 说明一下我博客里面奇奇怪怪的八格缩进是一个 bug ,我还在找 bug 的路上( 实际上我是一个标准的四格党,当然我也不会觉得所有其他缩进的就不好看( 标准板子: /* */ #include <bits/stdc++.h> using namespace std; #define File(a) freope对拍详解
像我这种以不认真而闻名的人,就应该练就一手优秀的调试技能 对拍作为一种优秀的查错方式,不仅可以在日常训练中找出自己改不出的程序的错,在考试中更能验证自己一种高效率解法的正确性,常言道: 一个人的程序能过对拍,基本上拿高分没问题,除非他被卡对拍
有关对拍 \(prework\) 你需要随机数生成器.exe,sol.exe,bruteforce.exe,以及对拍.exe \(code\) //rand.cpp #include<bits/stdc++.h> using namespace std; #define int long long const int mod=1e9; signed main(){ freopen("in.in","w",stdout); int x=有关对拍
有关对拍 不得不说,对拍真的是一个调试程序的好方法,当然还是要结合自已睿智的脑子... 基本写法: 你需要将这些文件放到同一个目录下: duipai.cpp | freopen: Result.txt(stdout) sol.cpp | freopen: data.txt(stdin), myans.txt(stdout) bf.cpp | freopen: data.txt(stdin), stdans考场 zz 错误集合-暨-考场注意事项
文件类 freopen的正确写法freopen("xxx.(in/out)","r/w",std(in/out)) 拒绝,->.,in配w 最好不要一场考试复制粘贴freopen,否则一旦有错,后果不堪设想...... 文件名看清楚再复制 拒绝英文题目直接复制全名而忽视真的文件名 复制完检查一下有没有空格 题目限制类 空间数字游戏(NOIP 2003 PJT2)
一 原始数据处理 1.输入数据得到a[1]~a[n],复制扩展a[n+1]~a[2*n],以便处理不同点为起点出发。 cin>>n>>m; for(int i=1;i<=n;i++) { scanf("%d",&a[i]); a[i+n]=a[i]; } 2.计算前缀和 sum[1]=a[1]; for(int i=2;i<=2*n;i++) sum[i]=sum[i-1]+a[i]; 3.除余SXOI2022 山 西 迷 惑 行 为 大 赏
因 注 释 了 freopen 导 致 d1t2 丢 掉 35 分 从 而 没 进 省 队 的 sb 人 作 文 人 nan 人 恶 臭 人 初 级 样 例 人 中 级 样 例 人 高 级 样 例 人 shift 人 debug 人 初 级 玄 学 人 高 级 玄 学 人 初 级 大 人 中 级 大 人 高 级 大 人 自 白 人 留 白 人P5686 [CSP-S2019 江西] 和积和 题解
PART 1: 题目大意 设 $s(l,r) = \sum_{i = l}^{r} a_i \times b_i$,求 $\sum_{l=1}{n}\sum_{r=1}{n} s(l,r)$ PART 2:解题思路 从数据范围可以看出来,这是一道思维题,我没需要把体面给出的柿子通过转化使其复杂度下降。从数据范围看出,这里需要时间复杂度大约 $O(n)$。 不妨先把题目给的CF24D Broken robot
传送门 思路 一道典型的高斯消元的期望DP 通过朴素的思考,我们可以获得如下的转移方程 \[f_{i,j}=p_{i,j-1}\times(f_{i,j-1}+1)+p_{i,j}\times(f_{i,j}+1)+p_{i,j+1}\times(f_{i,j+1}+1)+p_{i+1,j}\times(f_{i+1,j}+1) \](我们这里采用的是老套路逆推,而要注意到在边界的点移动的概[USACO2013JAN]Cow Lineup G
题意:一串数字,选出k种血统的奶牛,并把他们全部从队列中赶走,使其连续段最大(即一段中数字的种类<=k+1) 吐槽:想找个双指针的题学习;还用到离散化,刚好复习一下昨天学到的map #include<cstdio> #include<iostream> #include<cstring> #include<algorithm> #include<cmath> #include<map> u带修莫队
随便提几笔吧,时间不太充裕就不写太多了。 就是在区间的基础上再加上一个时间。 来个例题 数颜色|维护队列 直接就是考虑按照 \(l\) 所在块, \(r\) 所在块, \(t\) 的优先级排序,然后可以证明在块长取 \(n^{\frac{2}{3}}\) 时最优,可用最劣情况证明其复杂度。 然后就是稍微注意点细节扩展欧几里得
P1082 #include<bits/stdc++.h> using namespace std; #define file(a) freopen(#a".in","r",stdin),freopen(#a".out","w",stdout) int exgcd(int a,int b,int &x,int &y) { if(b==0) { x=1;y=0; return a; }FFT
建议全文背诵 3->2优化 #include<bits/stdc++.h> using namespace std; #define LL long long #define file(a) freopen(#a".in","r",stdin),freopen(#a".out","w",stdout) #define endless() fclose(stdin),fclose(stdout) #definNTT
来,背 稍微提一下原根的求法,我们对于模数(p-1)质因数分解,然后暴力枚举原根,我们发现原根满足 \(^{n}_{i=1}g^{\frac{p-1}{p_i}}\not\equiv 1(mod\ p)\) 就没了。 然后就是模数需要满足是\(X\times 2_n+1\) 的形式,否则上任意模数NTT #include<bits/stdc++.h> using namespace std; #dabc286-287题解
ABC 286 - 287 286 A link 题意: 就是交换给定字符串指定位置,swap 一下。 样例 Input: chokudai 3 5 Output: chukodai Code #include <cstring> #include <iostream> #include <algorithm> #include <ctime> #include <vector> #include <map> usingNOIP2021 游记
Day 0 上午睡大觉,睡到了十二点多 /qd 下午去机房写了写集训总结,教练讲了一些注意事项。 晚上半天睡不着不知道为什么。 Day 1 找了半天的考场,好在找到了。路上遇到了 xkr,被问了一些奇奇怪怪的问题。 开题,T1 是个什么神仙玩意,20 min 打了一个暴力,结果 \(10^7+1\) 就可以报,虚惊一场,