上机练习第51天

第一题

个人总结:直接秒除60得总分,分除60得总时,再秒%60得余数,分%60得余数,输出即可。

代码如下:

复制代码
#include<stdio.h>
int main(){
	int t;
	scanf("%d",&t);
	int h=0,m=0;
	m=t/60;
	t=t%60;
	h=m/60;
	m%=60;
	printf("%d:%d:%d\n",h,m,t);
    return 0;
}

第二题

个人总结:利用BFS算法,分别判断出黑和白当前是否能放置此位置,若能则下一行继续判断,直至遍历整个数组,此时总数+1,继续下一个判断,不能则回溯至原位跳过此次判断。

代码如下:

复制代码
#include <stdio.h>
#include <string.h>
int n;
int board[8][8];  
int black_col[8];      
int black_diag1[15];  
int black_diag2[15];  
int white_col[8];     
int white_diag1[15];   
int white_diag2[15];  
int total;  
void dfs(int row) {
    if (row == n) {
        total++;
        return;
    }
    for (int col = 0; col < n; col++) {
        if (board[row][col] == 0) continue; 
        int d1 = row + col;
        int d2 = row - col + n - 1;
        if (!black_col[col] && !black_diag1[d1] && !black_diag2[d2]) {
            black_col[col] = 1;
            black_diag1[d1] = 1;
            black_diag2[d2] = 1;
            for (int wcol = 0; wcol < n; wcol++) {
                if (board[row][wcol] == 0 || wcol == col) continue;  
                int wd1 = row + wcol;
                int wd2 = row - wcol + n - 1;
                if (!white_col[wcol] && !white_diag1[wd1] && !white_diag2[wd2]) {
                    white_col[wcol] = 1;
                    white_diag1[wd1] = 1;
                    white_diag2[wd2] = 1;
                    dfs(row + 1);
                    white_col[wcol] = 0;
                    white_diag1[wd1] = 0;
                    white_diag2[wd2] = 0;
                }
            }
            black_col[col] = 0;
            black_diag1[d1] = 0;
            black_diag2[d2] = 0;
        }
    }
}

int main() {
    scanf("%d", &n);
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
            scanf("%d", &board[i][j]);
        }
    }
    memset(black_col, 0, sizeof(black_col));
    memset(black_diag1, 0, sizeof(black_diag1));
    memset(black_diag2, 0, sizeof(black_diag2));
    memset(white_col, 0, sizeof(white_col));
    memset(white_diag1, 0, sizeof(white_diag1));
    memset(white_diag2, 0, sizeof(white_diag2));
    total = 0;
    dfs(0);
    printf("%d\n", total);
    return 0;
}

翻译

过拟合是机器学习模型训练过程中常见的一个问题。当模型在训练数据上表现极为出色但在测试数据上表现欠佳时,就被认为出现了过拟合现象。这通常发生在模型过于复杂或训练数据量不足的情况下。为了减少过拟合,研究人员提出了多种技术,如正则化、数据增强和交叉验证。正则化方法在损失函数中引入惩罚项,以限制模型参数的值,从而使得模型更加简单且更稳定。数据增强通过应用旋转、裁剪或添加噪声等操作来增加训练数据的多样性。此外,交叉验证通过反复将数据集划分为训练集和验证集来评估模型的泛化能力。这些技术能够有效提高机器学习模型在实际应用中的性能。

单词打卡

相关推荐
Hali_Botebie4 小时前
期望最大化算法,Expectation-Maximization Algorithm
算法
十五年专注C++开发4 小时前
C++17之类模板实参自动推导CTAD
开发语言·c++·聚合初始化·catd
weixin_468466854 小时前
通义千问核心能力与实战表现深度评测
人工智能·深度学习·算法·ai·大模型
菜菜的顾清寒4 小时前
力扣HOT100(48)图论-腐烂的橘子
算法·leetcode·图论
Ulyanov5 小时前
深入QML滑块与进度控制:构建动态数据可视化界面:QML+PySide6现代开发入门(六)
开发语言·python·算法·ui·信息可视化·雷达电子对抗仿真
星马梦缘5 小时前
ACM笔记 学习版本
数据结构·c++·算法
CQU_JIAKE5 小时前
6.1【A】
算法
wayz115 小时前
Momentum:CTI(相关趋势指标)技术指标详解
算法·金融·数据分析·量化交易·特征工程
fengxin_rou5 小时前
【滑动窗口与前缀和算法实战】:LeetCode560.438 高频题深度解析
java·算法·leetcode
Dillon Dong5 小时前
【风电控制】FPGA vs DSP 在ADC采样中的选择——从架构差异到工程实践
算法·变流器·风电控制·dfig