- 博客(68)
- 收藏
- 关注
原创 记录深度学习中遇到的各种Bug的解决方案
解决方案:要仔细观察是否使用了deep_supervision,并观察对应的arch输出为一个还是多个。解决方案就是将deep_supervision设置为True。使用structure loss损失函数同样要注意此问题。报错内容:在损失函数中的torch size不匹配。
2023-12-14 16:22:29
55
原创 试题 算法训练 印章
问题描述 共有n种图案的印章,每种图案的出现概率相同。小A买了m张印章,求小A集齐n种印章的概率。输入格式 一行两个正整数n和m输出格式 一个实数P表示答案,保留4位小数。样例输入2 3样例输出0.7500数据规模和约定1≤n,m≤20没完全弄懂。。。import java.util.ArrayList;import java.util.Arrays;import java.util.Comparator;import java.util.Scanner;impor
2022-01-21 16:04:31
518
原创 Defeat the monster
https://ac.nowcoder.com/acm/contest/5930/L思路:尺取法 当年我还是太年轻。。。这种题现在一看就知道是尺取法了只要当前序列中最大与最小的数差值小于5 r就不断的向右移动一旦大于5了就l++同时每次r++都去更新答案#include <cstdio>#include <queue>#include <cstring>#include <string>#include <iostream>.
2021-05-27 21:15:00
110
原创 Min Value
https://ac.nowcoder.com/acm/contest/5930/B思路:这道题更多的是考验思维,因为题目要求找出相加后绝对值最小的2个数,一开始想了一堆乱七八糟的东西。。。但其实很简单,首先按照大小排个序然后在整个数组里二分查找等于相反数的那个数采用lower_bound查找之后在分别查看a[j-1] a[j+1] a[j]的情况,最后选出最优解大致方向是这样的但有细节需要注意1.这道题除了要求输出最小的和之外还要求输出最小的i+j但是在排序后数字的序号就乱了 因此
2021-05-27 19:53:06
122
原创 A-Race
https://ac.nowcoder.com/acm/contest/5930/A这道题给我整蒙了。。。首先就是这道没说只考虑整数的时间点,不考虑小数还有就是之后的代码不知道为什么有20%错误。。。后来自己将小红的时间改为了l/v2就过了。。。实在想不明白为啥。。。#include <cstdio>#include <queue>#include <cstring>#include <string>#include <iostre
2021-05-26 18:50:59
81
原创 poj 3061
在一个数组中找出一个连续区间,使这个连续区间的和大于给定的值s尺取法。。。模板中的模板题。。。对于尺取法的理解偏差:在r不断增大的过程中,第一次发现当前序列的和大于s,我最开始的想法为r在之后的循环中不动,l不断+1,直到当前序列的和小于s这是不对的。。。因为在这个过程中r的位置被一次固定了。这就导致了在之后的遍历中得出这个序列不一定是最小的正确的做法是在当前序列大于s时,只将l加一(只加一次),之后再重复r++的过程,这样就确保了最后所得到的序列一定是最短的这是一道尺取法入门题目。。。#
2021-05-14 23:21:05
55
原创 hdu 6235
这道题是模拟。。。题目中说的是pi≡0(mod|pi−pi−2|) for i=3…n.换一个人能看懂的说法。。。就是p[i]%abs(p[i]-p[i-2])==0 //abs的意思是取绝对值比赛的时候我就陷入了一个误区,认为这道题应该是找规律,或者找出dp状态转移方程。。。足足忙活了一个多小时还没做出来结果看了别人的题解都快哭了。。。没有太特别的想法,因为题目中说任意一个序列打印出来即可所以控制p[i]-p[i-2]为1。。。没错就是这么简单有了这种想法后注意控制不能重复出现相
2021-05-14 21:12:39
68
原创 hdu 6512
这道题实在是有点难受题目说起来不难,就是给一堆数,让你判断能不能组成三角形。。。但是题目有很多坑点没讲明白。。。首先一个坑就是不用排序!!!不用排序!!!!所有样例都是有序的排一次序你必超时!!!!!(比赛的时候孩子被折磨疯了)其次判断能否组成三角形是好多人习惯性的使用任意两边之和大于第三边。。。但是有的数刚好小于2^31所以直接超时要用减法!!!要用减法!!!要用减法!!!#include <cstdio>#include <queue>#include &
2021-05-14 11:29:33
73
原创 hdu 1240
题意:一个三维的空间。中间为‘X’的不能走,给出两个三维坐标,分别为起点终点,问最少需要走几步到达终点,不能到达输出NO ROUNT分析:这道题就是从二维变成三维。。。没啥好说的,模板拿过来直接用需要注意的一点是起点终点坐标给出的方式有点坑人,正常人的表述应该为第几层第几列第几行。。。。!!!!!!!!题目中给的是The first coordinate in a set indicates the column. Left column = 0.The second coordinate in
2021-04-30 10:43:19
122
原创 poj 3414
大致题意:两个杯子,每次可进行6种不同的操作FULL 将一个杯子加满水DROP 将一个杯子内的水全部倒掉POUR 将一个杯子的水倒入另一个杯子(中间不浪费水,一个杯子满了另一个杯子就停止注水。。。)要求当任意一个杯子的水量为c时,输出操作的次数以及过程这道题做的我很头大。。。因为我第一次遇到要求保存路径的bfs搜索题通过一些大佬的代码我大概了解了应该怎么存。。。首先把操作给编号string path[]={“FILL(1)”,“FILL(2)”,“DROP(1)”,“DROP(2
2021-04-29 20:14:00
124
原创 poj 3126
题意大致是变动一个四位数字中的任意一个数,要求变动后的数仍为质数,并求出经过这样的变换最少需要多少次才能变换到目标这道题不出所料的是bfs,这是很容易想到的,因为每一个中间的状态天然的就是一个进行搜索的步骤这道题需要注意的是这道题有很多细节。。。首先要找出1-10000之间的素数。。。之后的的bfs要想清楚如何进行操作。。。首先要注意此题不允许重复使用一个数,因此要使用vis保存一个数进行判重,确保这个数之前没有使用过之后要注意每次只能修改一个数之前我写出了好多种错误的想法 比如直接对所有质数
2021-04-27 21:21:40
55
原创 poj 1426
题意:这道题输入一个正整数n,之后要求找到一个数,这个数要求为n的倍数,并且其中的每一位都需要为0或者1这道题的突破点在于数据的范围,题目中给定的答案位数是不超过100这很容易引起人的重视,因为如此大的数(10的100次方)就意味着用正常方法几乎不可能实现,因此应当对这个数进行适当的处理。同时注意到每个位置上只有两个选择1 0因此使用bfs搜索进行操作,每次向后一位添加数(如果不是例题,基本想不到能用bfs。。。)例如:第一次:1第二次:10 11第三次:100 101 110 111第四次
2021-04-27 12:05:26
54
原创 hdu1312
#include <bits/stdc++.h>using namespace std;int n,m,i,j,sx,sy,tx,ty,ans;int vis[25][25];int dir[4][2]={0,1,1,0,-1,0,0,-1};char mp[25][25];struct node{ int x,y;};int bfs(int sx,int sy){ queue<node>q; memset(vis,0,sizeof(
2021-04-26 21:15:42
49
原创 模板 n个数中任意m个数的组合
一个包含n个元素的集合,它的子集有2^n 个可以用二进制的方法进行直观的表示每个1代表这个对应子集中某个数的状态,代表它在这个子集中出现过子集的总数是2^n个也能很好的理解,每个位置有两种可能的情况1,0,分别代表这个元素在这个子集中出现或者不出现两种情况如何确定子集中的数字出现的次数使用 kk=kk&(kkk-1)这个操作是消除二进制中1的个数,每操作一次就代表有一个元素#include <bits/stdc++.h>using namespace std;voi
2021-04-26 20:05:27
61
原创 模板 全排列
利用递归求解全排列的思路:第一层:让第一个数不同,得到n个数列,办法是第一个数和后面的每个数进行交换这样做的n个数列,只要第一个数不同,不管后面的n-1个数怎么排列,这n个数列都不同第二层:在上面的每个数列中去掉第一个数,对后面的n-1个数进行类似的排列。。。重复以上步骤,直到用完所有数字即: begin==end#include <bits\stdc++.h>using namespace std;#define Swap(a,b) {int t=a; a=b; b=t;}
2021-04-26 18:32:08
75
原创 2021-03-27
链接:https://ac.nowcoder.com/acm/contest/5758/E来源:牛客网题目描述一天小明与他同学准备赛马,他们每人有n匹马,每匹马有一个固定的战力值,战力值高的马会战胜战力值低的马并赢得比赛。每匹马只能出场比赛一次。小明偷看到了他对手每匹马的出场顺序,小明在更改自己马出场顺序后最多能赢多少场比赛。输入描述:输入t,代表有t组数据。每组数据输入正整数n,每人的马匹数量。下一行输入n个值a[i],代表小明每匹马的战力值。接下来一行输入n个值b[i],代表对手按顺序出场的每
2021-03-27 19:56:31
74
原创 科林眀伦杯第十届---B
链接:https://ac.nowcoder.com/acm/contest/5758/B来源:牛客网题目描述存在n个数,每次操作可以任选一个区间使得区间内的所有数字减一。问最少多少次操作,可以让所有数都变成1。数据保证一定有解。输入描述:输入t,代表有t组数据。每组数据输入n,代表有n个数。接下来一行输入n个数,数字大小小于1e6。(t<=1000,n<1e5,∑n < 1e6)输出描述:每组数据输出一个整数代表最少需要操作的次数。分析:这道题本来以为需要线段树或者其他
2021-03-27 15:09:04
63
原创 蓝桥杯 打水问题
题目描述N个人要打水,有M个水龙头,第i个人打水所需时间为Ti,请安排一个合理的方案使得所有人的等待时间之和尽量小。提示一种最佳打水方案是,将N个人按照Ti从小到大的顺序依次分配到M个龙头打水。例如样例中,Ti从小到大排序为1,2,3,4,5,6,7,将他们依次分配到3个龙头,则去龙头一打水的为1,4,7;去龙头二打水的为2,5;去第三个龙头打水的为3,6。第一个龙头打水的人总等待时间 = 0 + 1 + (1 + 4) = 6第二个龙头打水的人总等待时间 = 0 +
2021-01-28 16:02:23
89
原创 uva815
To enable homebuyers to estimate the cost of flood insurance, a real-estate firm provides clients with the elevation of each 10-meter by 10-meter square of land in regions where homes may be purchased. Water from rain, melting snow, and burst water mains w
2021-01-22 15:03:05
60
原创 HDU1113
In millions of newspapers across the United States there is a word game called Jumble. The object of this game is to solve a riddle, but in order to find the letters that appear in the answer it is necessary to unscramble four words. Your task is to write
2021-01-22 13:23:24
112
原创 hdu1406
#include <iostream>#include <cstring>#include <stack>#include <cstdio>#include <queue>#include <set>#include <map>#include <cstdio>#include <string>#include <algorithm>#include <cmath
2021-01-15 14:50:39
44
原创 Subsequence
A sequence of N positive integers (10 < N < 100 000), each of them less than or equal 10000, and a positive integer S (S < 100 000 000) are given. Write a program to find the minimal length of the subsequence of consecutive elements of the sequenc
2021-01-12 10:32:29
44
原创 看病排队(优先队列解决)
看病要排队这个是地球人都知道的常识。不过经过细心的0068的观察,他发现了医院里排队还是有讲究的。0068所去的医院有三个医生(汗,这么少)同时看病。而看病的人病情有轻重,所以不能根据简单的先来先服务的原则。所以医院对每种病情规定了10种不同的优先级。级别为10的优先权最高,级别为1的优先权最低。医生在看病时,则会在他的队伍里面选择一个优先权最高的人进行诊治。如果遇到两个优先权一样的病人的话,则选择最早来排队的病人。现在就请你帮助医院模拟这个看病过程。Input输入数据包含多组测试,请处理到文件结束
2021-01-08 22:12:42
593
原创 hdu2544
#include <cstdio>#include <iostream>#include <cmath>#include <vector>#include <queue>#include <algorithm>using namespace std;const int maxn=105;int n,m;struct edge{ int from,to,w;};struct node{ int
2020-12-03 20:38:13
41
原创 链表的ACM模板(自建)
主要是代码量少,便于使用功能可能不全或复杂度过大//链表的创建与插入值#include<iostream>#include<cstdio>using namespace std;struct node{ int data; node *next;};int main(){ node *head,*q,*p,*t;//需要一个头指针,一个中间变量,一个临时变量 head=NULL; int n; //创建链表 cin>>n; for
2020-11-12 10:47:44
549
原创 图的建立与遍历
#include<iostream>#include<cstdio>#include<cmath>#include<cstring>#include<queue>#include<algorithm>using namespace std;template<class ElemType>struct Edge{ int adj_vertex; Edge<ElemType> *n
2020-11-12 10:46:30
68
原创 二叉树的建立与一些操作
#include<iostream>#include<cstdio>using namespace std;template<class ElemType>struct BinTreeNode{ ElemType data; BinTreeNode<ElemType> *leftChild; BinTreeNode<ElemType> *rightChild; BinTreeNode(); Bi
2020-11-12 10:45:44
123
原创 链栈的建立与操作
#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>using namespace std;template<class ElemType>struct Node{ ElemType data; Node<ElemType> *next; Node(); Node(ElemType item,N
2020-11-12 10:45:08
133
原创 链表的建立与操作
采用类模板 完成链表#include<iostream>#include<cstdio>#include<cstring>#include<queue>using namespace std;template<class ElemType>struct Node{ ElemType data; Node<ElemType>*next; Node(); Node(ElemType item
2020-11-12 10:44:33
72
原创 图的遍历
https://www.luogu.com.cn/problem/P3916反向建图+dfs搜索#include<iostream>#include<cstdio>#include<cmath>#include<cstring>#include<queue>#include<vector>#include<algorithm>using namespace std;const int maxn=10000
2020-11-12 10:42:57
33
原创 poj 1163(经典题目)
Description73 88 1 02 7 4 44 5 2 6 5(Figure 1)Figure 1 shows a number triangle. Write a program that calculates the highest sum of numbers passed on a route that starts at the top and ends somewhere on the base. Each step can go
2020-09-20 10:41:37
129
原创 2020-09-09
Problem Description有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行。请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数。其中,蜂房的结构如下所示。Input输入数据的第一行是一个整数N,表示测试实例的个数,然后是N 行数据,每行包含两个整数a和b(0<a<b<50)。Output对于每个测试实例,请输出蜜蜂从蜂房a爬到蜂房b的可能路线数,每个实例的输出占一行。Sample Input21 23 6Sample Output13http://
2020-09-09 19:26:49
197
原创 find a way
https://vjudge.net/contest/389717#problem/F分析:裸的BFS不用优化剪枝也能过。。。比赛的时候竟然打错了一堆东西。。。具体的思路就是从两人的家开始遍历走两次BFS之后遍历一遍去寻找KFC位置并取其中的最小值#include<iostream>#include<cstdio>#include<cstring>#include<queue>using namespace std;const int ma
2020-09-09 10:11:21
78
原创 hdu 2041纪念去年新生赛。。。
http://acm.hdu.edu.cn/showproblem.php?pid=2041Problem Description有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?Input输入数据首先包含一个整数N,表示测试实例的个数,然后是N行数据,每行包含一个整数M(1<=M<=40),表示楼梯的级数。Output对于每个测试实例,请输出不同走法的数量Sample Input223Sample Output12这个题特别
2020-09-08 21:58:02
62
原创 hdu 2018动规(动物繁衍问题总结)
http://acm.hdu.edu.cn/showproblem.php?pid=2018分析:这道题在以前做的时候以为是找规律。。。在系统的自学了动态规划之后,可以以一种新的角度分析dp[i]代表第i年的????的数量进一步分析可得第i年的数量取决于之前已经存在的猪(大猪+小猪)与第i年新增的????(即新长成的大猪)之和,而题目中告知4年小猪成熟所以第i年新成熟的小猪就是dp[i-3]第i-1年的猪数量为dp[i-1]所以状态转移方程为:dp[i]=dp[i-1]+dp[i-3]#in
2020-09-08 21:29:06
103
原创 紫书题目
https://vjudge.net/problem/UVA-548You are to determine the value of the leaf node in a given binary tree that is the terminal node of apath of least value from the root of the binary tree to any leaf. The value of a path is the sum of valuesof nodes alo
2020-09-08 19:57:35
49
原创 hdu 1710
http://acm.hdu.edu.cn/showproblem.php?pid=1710分析:二叉树的遍历,自己做的时候还翻车了,硬是没看出来哪错了。。。buildtree里的for循环只判断中序中与起始节点相似的点#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>#include<vector>using namespace std;c
2020-09-07 22:14:31
112
原创 HDU1257 详细分析,多种解法(全网最全)
Problem Description某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能超过前一发的高度.某天,雷达捕捉到敌国的导弹来袭.由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹.怎么办呢?多搞几套系统呗!你说说倒蛮容易,成本呢?成本是个大问题啊.所以俺就到这里来求救了,请帮助计算一下最少需要多少套拦截系统.Input输入若干组数据.每组数据包括:导弹总个数(正整数),导弹依
2020-09-06 22:26:30
638
4
原创 hdu 1159
http://acm.hdu.edu.cn/showproblem.php?pid=1159分析:将str1列为横行,str2列为纵行分两种情况讨论:1.str1[i]==str2[j] 此时只需要在i-1 ,j-1加1就可以了2.str1[i]!=str2[j] 判断是取i的上一位还是j的上一位,另一位不动即可#include<cstdio>#include<iostream>#include<cstring>#include<algorithm
2020-09-06 18:22:01
91
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人