
C++
文章平均质量分 55
wallyIII
这个作者很懒,什么都没留下…
展开
-
抗压题解解题压抗1
这波就不打题号了[POI2001][HAOI2007]反素数https://www.luogu.com.cn/problem/P1463https://www.luogu.com.cn/problem/P1463 题解: 开始拿到这道题的时候毫无头绪,然而旁边两人都秒了,这波直接心态炸掉,无奈自己自己没做过TAT,好吧,其实这道题是可以打表的,而且并不是很慢 打表程序:#include<cstdio>#include...原创 2021-10-09 16:59:42 · 891 阅读 · 0 评论 -
杂题题解(康复训练)
目录关于10.05标准化测试: T1: 题目描述: 题解:T2: 题目描述:前置知识及证明(话说我是真的屑,初中白学了?)关于10.05标准化测试: T1: 题目描述:[HNOI2011]数学作业 - 洛谷https://www.luogu.com.cn/problem/P3216 题解: ...原创 2021-10-08 10:04:29 · 238 阅读 · 0 评论 -
9.16集训小结
刚被搜索给暴揍了之后,又来挨数据结构的打QAQTwT昨天饱受TLE之快,今天尽观RE之美T1:T1http://118.31.67.228/problem.php?cid=1025&pid=0样例输入:5 102 3 71 32 4 73 3 6 107 1 2 3 4 7 8 960 3 3 4 50 3 1 3 41 2 1 30 1 51 1 21 2 3 5样例输出:51 2 5 8 975 6 1034 7题原创 2021-09-17 17:12:03 · 189 阅读 · 1 评论 -
9.14~9.15集训小结
搜索TwT今天化身WA队金牌剪枝园丁疯狂TLEDay1T1:Day1T1http://118.31.67.228/problem.php?cid=1020&pid=0样例输入:5 3样例输出 : 1 2 3 1 2 4 1 2 5 1 3 4 1 3 5 1 4 5 2 3 4 2 3 5 2 4 5 3 4 5题解: 三年前可以写出来的题,不会现在写不出来...原创 2021-09-17 11:42:27 · 186 阅读 · 0 评论 -
一些有用的OI小技巧
C++计算程序片断时间为了测试(比较)自己程序的效率,我们可以用头文件ctime里面的clock()函数进行测试具体用法:clock_t t;t=clock();t=clock()-t;cout<<"时间为:"<<(((float)t)/CLOCKS_PER_SEC*1000)<<"ms\n";这里CLOCKS_PER_SEC可以理解为一个时间单位,但是不是平常的,是计算机cpu里面的时间单位,所以除一个,然后*1000(换算成ms...原创 2021-09-14 21:32:07 · 308 阅读 · 0 评论 -
9.13集训小结
T1:第一题样例输入:30011011001 1 3 3样例输出:4题解: 老DFS一分没有了直接用BFS跑一遍注意还是要取最小的那一个点,ans还是要加一个取min(按理说不用) 注意!!!网上提交请记得关freopen#include<cstdio>#include<queue>#include<cstring>#include<string>using n...原创 2021-09-14 18:23:01 · 135 阅读 · 0 评论 -
9.2集训小结QAQ
又是WA题的一天T1:很烦的模拟题,不多说,特判闰年、大月、小月#include<cstdio>using namespace std;int a[9],b[9];int x,y;int ans=0;int pd[14];int main(void){ scanf("%d%d",&x,&y); for(int i=8;i>=5;i--)a[i]=x%10,x/=10; for(int i=8;i>=5;i--)b[i..原创 2021-09-02 20:55:34 · 126 阅读 · 0 评论 -
9.1集训小结TAT
T1:是一道简单的实数二分,不多说,注意精度问题!!#include<cstdio>#include<cmath> using namespace std; double emo=0.000000000001;//精度double L,R; inline double f(double x){ return (double)exp(x*log(2))+exp(x*log(3))-exp(x*log(4))//等于2的x次幂+3的x次幂-4的x次幂;原创 2021-09-01 21:52:13 · 190 阅读 · 2 评论 -
线段树(带修改操作)
#include<cstdio>#define lid (id<<1)#define rid (id<<1|1)using namespace std;struct seg_tree{ int l,r; int lazy,sum;}tr[100005*4];int n,m;int a[100005],ans[100005],v;void build(int id,int l,int r){ tr[id].l=l; tr[id].r=r.原创 2020-08-03 17:19:25 · 139 阅读 · 0 评论 -
线段树(无修改操作)
#include<cstdio>#include<algorithm> #define lid (id*2)#define rid (id*2+1)using namespace std;struct s_tree{ int l,r; int mx,sum;}tr[100005*4];int a[100005],n,ans[100005],m,v;void build(int id,int l,int r){ tr[id].l=l; tr[id]..原创 2020-08-03 17:18:37 · 151 阅读 · 0 评论 -
树带权值
#include<bits/stdc++.h> using namespace std;struct edge{ int v,w;}; vector<edge> g[100010];int vis[100010],n,m,d,sum=0,summ[11];int o=-1;inline int read(){ int f=1,x=0;char ch;...原创 2019-03-30 10:29:28 · 832 阅读 · 0 评论 -
并查集
#include<bits/stdc++.h>using namespace std;int pre[1000005];int find(int x) //路径压缩 1{ int r=x; while(pre[r]!=r) { r=pre[r]; } /*int i=x,j; while(i!=r) { j=pre[i]; pre[i]=...原创 2019-03-30 10:28:43 · 139 阅读 · 0 评论 -
树求重心
#include<cstdio>#include<vector>using namespace std;int n,vis[10000],size[10000],mx[10000];vector<int> g[10000];int minn=10000;void addegde(int u,int v){ g[u].push_back(v...原创 2019-03-30 10:28:08 · 172 阅读 · 0 评论 -
洛谷P1031 均分纸牌
经典贪心题思路:每项减去每项的平均数,凡是不为0的,将剩余(不为0)的部分加到下一项,次数加一#include<iostream>#include<cstdio>#include<algorithm>using namespace std;int n,b[5000],k,c,l=0,mm=0;string a[5000];int mai...原创 2018-08-25 18:40:28 · 281 阅读 · 0 评论 -
确认进制
【题目描述】6*9=42对于十进制来说是错误的,但是对于13进制来说是正确的。即, 6(13)* 9(13)= 42(13), 而 42(13)=4*131+2*130=54(10)。你的任务是写一段程序,读入三个整数p、q和 r,然后确定一个进制 B(2≤B≤40) 使得 p * q = r。 如果 B 有很多选择, 输出最小的一个。例如:p=11, q=11, r=121.则有11...原创 2018-09-15 15:42:31 · 1734 阅读 · 3 评论 -
DP-走楼梯
有N级楼梯,一次可走1或2级,问有几种走法?N<=5000分析:走到P级的走法=走到P-1的走法数+走到P-2的走法数所以为动规。#include<cstdio>#define INF 1000000int dp[INF]={0},n;int main(){ scanf("%d",&n); dp[0]=1;//初始化第一个 for(i...原创 2018-09-22 21:35:01 · 242 阅读 · 0 评论 -
C++ 高精度乘法
才发现上次写的高精乘是错的,所以我就再写了一个#include<cstdio>#include<cstring>#include<algorithm>using namespace std;char a[100],b[100];int n1=0,n2=0,n,sa[100],sb[100],c[10000],f[100000]={0},nn1=...原创 2018-10-12 16:56:02 · 1174 阅读 · 1 评论 -
C++ 快速排序
以前都用sort,现在自己写了一个直接上代码#include<cstdio>#include<iostream>using namespace std;int n,a[100000]={0};void qsort(int i,int j){ int l=i,r=j,t=a[i]; if(i>j) return ; while(i!=j)...原创 2018-10-27 10:01:14 · 532 阅读 · 0 评论 -
删数问题
经典贪心算法:每次删去下降序列的第一个举个栗子:175438 下降序列为:7 5 4 3所以删去715438 下降序列为:5 4 3所以删去51438 下降序列为:4 3所以删去4138 无下降序列则删去最后一个代码如下:#include<cstdio>#in...原创 2018-11-03 10:03:02 · 347 阅读 · 0 评论 -
C++快速读取
快速读取简称快读,废话不多说,直接上代码。int read(){ int x=0,f=1; char ch; do{ ch=getchar(); if(ch=='-') f=-1; }while(ch>'9'||ch<'0'); do{ x=x*10+ch-'0'; ch=getchar(); }while(ch<='9'&&...原创 2019-01-26 14:24:48 · 1254 阅读 · 1 评论 -
堆排序
#include<bits/stdc++.h>using namespace std;int h[10000];int n; void swap(int x,int y){ int c; c=h[x]; h[x]=h[y]; h[y]=c;}void up(int i){ if(i==1) return; while(h[i]<h[i/2] ...原创 2019-03-30 10:26:27 · 130 阅读 · 0 评论 -
树求直径
#include<cstdio>#include<cstring>#include<vector>using namespace std;int n,vis[10000],size[10000],dis[10000];struct egde{ int v,w;};vector<egde> g[10000];int maxx=0...原创 2019-03-30 10:27:36 · 232 阅读 · 0 评论 -
洛谷P1059 明明的随机数
基本思想:先整体快排再去除重复程序:#include<iostream>#include<cstdio>#include<algorithm>using namespace std;int n,a[200000]={0},z=0,b[200000]={0},k=0,c[200000]={0},q=0;int main(){ cin>...原创 2018-08-25 18:14:19 · 294 阅读 · 0 评论