零基础刷题
XXL版的PYY
这个作者很懒,什么都没留下…
展开
-
PIPI刷题笔记
//1000#include<iostream>#include<cstdio>#include<cstring>using namespace std;int main(){ string s; int count=1; while(cin>>s) { bool flag=true; int len=s.length(); for(int i=0;i<=le.原创 2021-01-07 21:10:59 · 198 阅读 · 0 评论 -
1078:等待分配任务的程序
#include<bits/stdc++.h>using namespace std;const int N=1005;int cv[N];int dp[2005];int main(){ int n; while(scanf("%d",&n)!=EOF) { int sum=0,mid=0; for(in...原创 2020-03-17 22:02:06 · 323 阅读 · 0 评论 -
1072 漫漫上学路
这个问题就是加了限制的典型的dp问题,限制了dp的区域是右下角的三角形(其实可以替换成左边的三角形区域,答案不变),就化成了常规的dp问题#include<bits/stdc++.h>using namespace std;typedef long long LL;const int N=35;LL dp[N][N];int main(){ int n; ...原创 2020-03-17 20:05:35 · 249 阅读 · 0 评论 -
矩阵取数
这个问题缠绕了我半个小时,一直不知道错在哪里,后来想通了,如果边界值如果是负数的话,那么这样子得到的dp数组的边界值是有问题的。 for(int i=1;i<=n;++i) { for(int j=1;j<=m;++j) { dp[i][j]=max(dp[i-1][j],dp[i]...原创 2020-02-29 23:33:34 · 856 阅读 · 0 评论 -
删除最少的元素
这是一个典型的LIS问题首先解析题意:如果把数组下标当作横坐标,对应的数值当作函数,我们想要的就是去除最少的点,形成一个v字形的函数。思路:我们首先从头到尾计算最长非上升子序列dp[1],然后从尾到头计算最长非上升子序列dp2[i],如果想要删除的元素最小,即dp1[i]+dp2[i]-1最小LIS的模板代码for(int i=1;i<=n;++i){ dp[i]...原创 2020-02-28 13:32:09 · 386 阅读 · 0 评论 -
1066竖式问题
#include<bits/stdc++.h>using namespace std;bool inset(char *s,int num) //判断所给数的数字是否在所给字符串中出现{ int len=strlen(s),i; while(num) { int temp=num%10; for(i=0;i<le...原创 2020-01-27 15:32:19 · 212 阅读 · 0 评论 -
可持久化动态图上树状数组维护01背包(贪心)
这道题的思路就是如果是负数,直接cost+=i*a[i],但是如果是正数的话,就直接cost+=a[i],这样子的代价才是最小的#include<bits/stdc++.h>using namespace std;int main(){ int n; long long cost=0; scanf("%d",&n); for(int i...原创 2020-01-23 21:34:47 · 475 阅读 · 0 评论 -
1042黑色星期五
#include<bits/stdc++.h>using namespace std;bool isLeapYear(int n) //判断是否是闰年{ if((n%400==0)||((n%100!=0)&&(n%4==0))) return true; return false;}int getDays(int n,...原创 2020-01-22 20:48:43 · 159 阅读 · 0 评论 -
1052哥德巴赫猜想II
#include<bits/stdc++.h>using namespace std;const int N=100005;bool a[N];bool isPrime(int n){ if(n==1) return false; for(int i=2;i<=sqrt(n);i++) { if(n%i==0) ...原创 2020-01-19 01:28:12 · 264 阅读 · 0 评论 -
1037排名
#include<bits/stdc++.h>using namespace std;struct Student{ char s[21]; int solnum; int grade;}student[1005];bool compare(const Student& a,const Student &b){ if(a.g...原创 2020-01-19 00:58:11 · 144 阅读 · 0 评论 -
环状序列
#include<bits/stdc++.h>using namespace std; struct stu{ string id; int nums; int s[10]; int val;}; bool cmp(stu a, stu b){ return a.val > b.val;} int main(){ ...原创 2020-01-18 15:34:51 · 112 阅读 · 0 评论 -
小鱼比可爱
#include<bits/stdc++.h>using namespace std;const int N=1005;int a[N];int result[N];int main(){ int n; scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&a[i]...原创 2020-01-17 21:31:06 · 719 阅读 · 0 评论 -
蠢蠢机器人III
这道题是计蒜客做过的题目,这道题的卡点应该就是如何去处理方向问题,这里用到了取余来指定方向#include<bits/stdc++.h>using namespace std;const int N=5;char s[N];int main(){ int m; while(scanf("%d",&m)!=EOF) { doub...原创 2020-01-16 21:24:24 · 471 阅读 · 0 评论 -
1067蠢蠢机器人I
其实这道题我想的思路很复杂,而且不会处理后面的重复指令。看到这篇文章我才有思路,卡在重复指令的处理,这里使用数组,才能记忆前面的指令。#include<bits/stdc++.h>using namespace std;const int N=105;int a[N];char s[N];int main(){ int t; scanf("%d",&am...转载 2020-01-16 20:43:28 · 372 阅读 · 0 评论 -
1045: 修墙壁
思路简单,就是从大到小排序#include<bits/stdc++.h>using namespace std;const int MaxSize=1000+5;int a[MaxSize];bool cmp(int x,int y){ return x>y;}int main(){ int l; while(scanf("%d",&am...原创 2020-01-16 15:14:20 · 162 阅读 · 0 评论 -
1054PIPI的目标I
#include<bits/stdc++.h>using namespace std;const int MaxSize=1000+5;int a[MaxSize];int main(){ int n,t; while(scanf("%d%d",&n,&t)!=EOF) { bool flag=false; in...原创 2020-01-16 14:14:42 · 264 阅读 · 0 评论 -
1062回文素数I
#include<bits/stdc++.h>using namespace std;bool isPrime(int n) //判断是否是质数{ if(n==1) //1不是素数 return false; for(int i=2;i<=sqrt(n);i++) { if(n%i==0) ...原创 2020-01-16 11:28:49 · 129 阅读 · 0 评论 -
杨辉三角
杨辉三角感觉这题就是出错可能就出在格式错误上面,如果是每一行的最后一个,不应当输出空格#include<bits/stdc++.h>using namespace std;const int MaxSize=50+5;long long a[MaxSize][MaxSize];int main(){ for(int i=0;i<MaxSize;i++) ...原创 2020-01-16 10:40:33 · 139 阅读 · 0 评论 -
1051哥德巴赫猜想I
提交时一直显示输出超限,因为自己的输出while(scanf("%d",&n))没有加上EOF,导致了这个原因`#include<cstdio>#include<iostream>using namespace std;bool isPrime(int n) //常见的判断素数的函数{ if(n==1) //添加了一种特殊情况,1不是质数...原创 2020-01-15 23:31:33 · 148 阅读 · 0 评论 -
1065统计气球
统计气球其实就是普通的map的使用,当然也可以使用数组,这个过程中我熟悉了map的插入,就是当更新map的某个key对应的value时不能直接使用insert进行更新,否则会插入失败#include<bits/stdc++.h>using namespace std;int main(){ int n; while(cin>>n) { ...原创 2020-01-15 20:46:54 · 375 阅读 · 0 评论 -
1047寻找嫌疑人
寻找嫌疑人标准做法是列出相应的关系表达式,利用逻辑运算进行求解,直接最后一个结论反推#include<bits/stdc++.h>using namespace std;int main(){ printf("%c %c %c %c",'A','B','C','F'); return 0;}...原创 2020-01-14 23:19:39 · 220 阅读 · 0 评论 -
七夕节
@TOC在这里插入代码片#include<bits/stdc++.h>using namespace std;int main(){ int t; scanf("%d",&t); while(t--){ //多组数据输入 int n,count=1; scanf("%d",&n); if...原创 2020-01-10 23:26:45 · 156 阅读 · 0 评论 -
二进制数问题
熟悉语言的水题#include<cstdio>bool judge(int num){ //直接用函数省事 int count1=0; int count2=0; while(num>0){ int temp=num%2; if(temp==0) count1++; else ...原创 2020-01-05 15:15:05 · 231 阅读 · 0 评论