自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 1148 Werewolf - Simple Version

狼人杀,想了好久没想到什么好的写法,遂搜题解。感谢柳婼 の blog提供的题解!#include <bits/stdc++.h>using namespace std;int n;int a[105]; int main(){ scanf("%d", &n); for(int i = 1; i <= n; i ++){ scanf("%d", &a[i]); } //i, j是狼 for(int i =

2021-09-08 16:06:06 112

原创 1151 LCA in a Binary Tree

没怎么写过树,欠的还是要还的。目前看了题解是两种做法,一种是直接找,另一种是先建树再LCA(LCA用的裸查找)。直接查找a和b的最近公共祖先一定在中序遍历a的位置和中序遍历b的位置之间,而a和b的公共祖先一定在先序遍历中a和b的位置之前。在先序遍历中从0开始查找,找到的第一个中序遍历位置位于a和b之间的就是最近公共祖先。#include <iostream>#include <algorithm>#include <stdio.h>#include <

2021-09-06 21:22:51 187

原创 P4017 最大食物链计数

简单dp题单的最后一道题!从前有一个人,她想dp,后来写着写着,就写成了topo。本题这里提供两种做法,拓扑排序和DPS+DP(记忆化搜索),使用vector数组存图,一维变长。拓扑排序#include <iostream>#include <vector>#include <queue>using namespace std;// topoint n, m, ans;int in[5005], out[5005], f[5005];vector&

2021-09-03 12:06:33 103

原创 P2196 [NOIP1996 提高组] 挖地雷

两种写法,DPS or DP。DFSv[i]为点i处地雷数量,d[i][j]表示邻接矩阵,path[]记录路径。#include <iostream>using namespace std;int n, v[25], d[25][25], ans[25], path[25];int max_sum, len;int judge(int x){ for(int i = x+1; i <= n; i ++){ if(d[x][i]==1) return

2021-09-02 21:27:18 159

原创 P1464 Function

题目描述对于一个递归函数w(a,b,c):如果a≤0 or b≤0 or c≤0就返回值1;如果a>20 or b>20 or c>20就返回w(20,20,20);如果a<b并且b<c就返回w(a,b,c-1)+w(a,b-1,c-1)-w(a,b-1,c);其它的情况就返回w(a-1,b,c)+w(a-1,b-1,c)+w(a-1,b,c-1)-w(a-1,b-1,c-1)。题解经典记忆化搜索,因为有重复计算,所以每次把计算结果保存下来。#include &

2021-09-02 15:48:37 118

原创 P1048 [NOIP2005 普及组] 采药

确实,很水的dp,01背包嘛。初学,还是写错啦。两种方法,二维dp和一维dp。一维dp#include <iostream>using namespace std;int t, m;int w[105], v[105];int dp[1005];int main(){ scanf("%d%d", &t, &m); dp[0] = 0; for(int i = 0; i < m; i ++){ scanf("%d%

2021-08-31 21:37:14 90

原创 P2895 [USACO08FEB]Meteor Shower S

让我来看看谁是大傻x哈!原来是我自己!(更新vis数组的时候=写成==导致TLE,debug了许久)考察:最基本的bfs,没得说。就是没有解题思维的我, 经历了WA->MLE->TLE->AC。WA是没有考虑到给的流行掉落是无序的。本来想的是开两个数组,一个存当前时间被烧焦的土地,一个存最后被烧焦的土地,如果所在位置当前时间不会被烧焦,最后也不会被烧焦,就是安全的。但菜鸡一下就MLE了,想想也是数组开多了。没思路就看了下题解,发现不需要把ash[][]这个数组只存0/1啊

2021-08-29 16:00:17 102

原创 Leetcode 1911 最大子序列交替和

题目一个下标从 0 开始的数组的 交替和 定义为 偶数 下标处元素之 和 减去 奇数 下标处元素之 和 。比方说,数组 [4,2,5,3] 的交替和为 (4 + 5) - (2 + 3) = 4 。给你一个数组 nums ,请你返回 nums 中任意子序列的 最大交替和 (子序列的下标 重新 从 0 开始编号)。一个数组的 子序列 是从原数组中删除一些元素后(也可能一个也不删除)剩余元素不改变顺序组成的数组。比方说,[2,7,4] 是 [4,2,3,7,2,1,4] 的一个子序列(加粗元素),但是

2021-07-02 19:46:21 355

原创 P1219 [USACO1.5]八皇后 Checker Challenge

菜鸡来发代码了。写这题真是命途多舛。忘记带纸笔了,所以对角线找规律就没找到,然后存了个n*n的数组来看有没有被占领,vis++和vis–。并且写的时候,vis[x][y]还写笔误了,debug了好久。写完递归才发现dfs里参数只需要行,不需要列。结果最后一个点超时了。看了题解才发现,可以用i+j表示左对角线,i-j+n表示右对角线(果然还是太菜了啊,都没有发现和相等这个问题)。修改了一下代码,AC了。#include <iostream>#include <stdlib.h&

2021-04-16 21:05:48 91

原创 HDU 哈密顿绕行世界问题

题目一个规则的实心十二面体,它的 20个顶点标出世界著名的20个城市,你从一个城市出发经过每个城市刚好一次后回到出发的城市。输入前20行的第i行有3个数,表示与第i个城市相邻的3个城市.第20行以后每行有1个数m,m<=20,m>=1.m=0退出。输出输出从第m个城市出发经过每个城市1次又回到m的所有路线,如有多条路线,按字典序输出,每行1条路线.每行首先输出是第几条路线.然后个一个: 后列出经过的城市.参看Sample output样例输入2 5 201 3 122 4 10

2021-04-15 16:26:02 113

原创 洛谷 P1075 [NOIP2012 普及组] 质因数分解

NOIP 2012 普及组 第一题,如果细想,确实很水……第一,不用挨个分解质因数;第二,不用判断素数;唯一分解定理:一个合数能且只能分解为一组素数的乘积。如果一个数是两个不同的素数的乘积,那么除了1和他本身和这两个素数外,它没有别的约数了。Tips:从小往大找要比从大往小找快。附代码:#include<bits/stdc++.h>using namespace std;int main(){ int n; cin >> n; for(int

2021-03-29 19:50:53 449 1

原创 Codeforces Round #709, Div 2, C. Basic Diplomacy

题目大意:A有n个朋友,m天假期,每天有一些朋友有空,他每天可以找一个人玩,但是每个朋友不能被选择超过⌈m/2⌉⌈m/2⌉⌈m/2⌉次,不然其他朋友会觉得被冷落QAQ~问:能不能找到这样一个方案,如果能,print YES并给出方案,不能则print NO。题解:仔细想想,其实会发现,只有当某些天只有同一个人有空,而且天数超过⌈m/2⌉⌈m/2⌉⌈m/2⌉才会没有解,其余情况均有解~比如6 21 11 11 11 11 21 2这种情况没有解~但是下面这种情况就有解6 21

2021-03-25 10:02:32 126

转载 蓝桥杯 历届试题 小计算器

问题描述模拟程序型计算器,依次输入指令,可能包含的指令有1. 数字:‘NUM X’,X为一个只包含大写字母和数字的字符串,表示一个当前进制的数  2. 运算指令:‘ADD’,‘SUB’,‘MUL’,‘DIV’,‘MOD’,分别表示加减乘,除法取商,除法取余  3. 进制转换指令:‘CHANGE K’,将当前进制转换为K进制(2≤K≤36)  4. 输出指令:‘EQUAL’,以当前进制输出结果  5. 重置指令:‘CLEAR’,清除当前数字指令按照以下规则给出:  数字,运算指令不会连续给出,

2021-03-18 00:25:36 83

原创 PAT 1141 Ranking of Institutions

考察:复杂结构体排序+map的使用说实话,,我觉得这题有点坑,菜鸡本来没有用map写,结果最后两个测试点过不去,改了map之后,发现要先用double记总分之后再转成int,不然的话最后一个测试点会答案错误。附上代码:#include <iostream>#include <cctype>#include <algorithm>#include <map>using namespace std;struct node{ string

2021-03-12 21:59:21 94

原创 PAT 1019 General Palindromic Number

签到题,进制转换。10进制转P进制。附代码:#include <iostream>#include <vector>using namespace std;int main(){ int n, b, num = 0; scanf("%d %d", &n, &b); int z[40]; do{ z[num ++] = n%b; n = n/b; }while(n != 0);

2021-03-12 19:08:50 78

原创 PAT 1027 Colors in Mars

进制转换签到题,10进制转13进制。虽然是签到题,但我还是写麻烦了。先附上自己的代码:#include <iostream>using namespace std;char ABC(int x){ if(x % 13 == 10) return 'A'; else if(x % 13 == 11) return 'B'; else if(x % 13 == 12) return 'C'; else return (x%13)+'0';}void dec_13(int

2021-03-12 16:06:24 93

原创 PAT 1154 Vertex Coloring

图的遍历#include <iostream>#include <vector>#include <set>using namespace std;struct node{ int v1; int v2;};vector<node> edges(10010);vector<int> vertex(10010);int n, m, k;bool issame(){ for(int i = 0; i &

2021-03-12 16:01:51 83

原创 PAT 1071 Speech Patterns

利用map进行字符串处理。附第一次写的代码#include <bits/stdc++.h>using namespace std;bool check(char ch){ if(ch >= 'a' && ch <= 'z') return 1; if(ch >= 'A' && ch <= 'Z') return 1; if(ch >= '0' && ch <= '9') retu

2021-03-10 15:52:22 80

原创 PAT 1152 Google Recruitment

签到题,但是需要细心一点。题目说如果质数是0023要输出0023,所以要么输出的时候记得把0补齐。附上代码#include <bits/stdc++.h>char num[1010];bool isPrime(int n){ for(int i = 2; i < sqrt(n); i ++){ if(n % i == 0) return 0; } return 1;}int main(){ int l, k; s

2021-03-09 16:50:13 106 1

原创 PAT 1153 Decode Registration Card of PAT

写了一天半,终于AC了……//菜鸡养成计划附上代码:#include<iostream>#include<stdlib.h>#include<stdio.h>#include<algorithm>using namespace std;struct node{ string card; int score;};struct node2{ int id = 0; int val = 0;};bool

2021-03-09 16:46:27 111

原创 AcWing 1230 K倍区间

题目来源AcWing 1230 K倍区间链接:https://www.acwing.com/problem/content/description/1232/题目描述给定一个长度为 NNN 的数列,A1,A2,…ANA_1,A_2,\dots A_NA1​,A2​,…AN​,如果其中一段连续的子序列 Ai,Ai+1,…AjA_i,A_{i+1},\dots A_jAi​,Ai+1​,…Aj​ 之和是 KKK 的倍数,我们就称这个区间 [i,j][i,j][i,j] 是 KKK 倍区间。你能求出数列

2021-02-02 01:29:22 135

原创 关于使用Vivado在仿真时报错的问题

首先是,我电脑里有sublime,Dev,Codeblocks,并且配sublime C++环境时啥也不懂,找教程下了一个MinGW。然后问题来了。学数字逻辑,要用Vivado,结果仿真的时候出现了这个问题…ERROR: [Common 17-39] 'launch_isim' failed due to earlier errors.ERROR: [USF-XSim-62] 'elabo...

2019-04-02 20:56:39 15865 5

原创 第一篇博客——冬夜小记。

第一篇博客——冬夜小记。HDU的几道水题。自己感觉有一些小的注意点。码一下。HDU 1098其实我觉得,这是一道数学题…解题思路:数学归纳法f(x)=5x13+13x5+kax假设当x=n时,65|f(x)成立,那一定有 65|f(n+1)成立,那么65|(f(n+1)-f(n)) 成立。通过二项展开可以得到只要18+k*a可以被65整除就可以了。(PS:13、5都是质数,用二...

2019-01-11 02:43:42 233 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除