Yuan Tian's Blog

纸上得来终觉浅,绝知此事要躬行


  • 首页

  • 标签

  • 分类

  • 归档

  • 搜索

LCCUP 2021 春季编程大赛——个人赛

发表于 2021-04-06 | 分类于 算法

最近一个多月刷了三百多道题,正好赶上LeetCode举办的春季赛,也算是对自己刷题成果的小小检验。一共2.5小时,5道题,参赛选手9932人,排名180+。

LCP 28 采购方案

排序 -> 有序数组中,两数之和小于等于target的方案数 -> 双指针
时间复杂度:O(n),空间复杂度:O(1)

LCP 29 乐团站位

数学题。先统计外层人数,然后统计当前层人数

外层:
层数:outside = min(xPos, yPos, num - xPos - 1, num - yPos - 1)
最外层人数:(num - 1) * 4
最里面的外层的人数:(num - 2 * (outside - 1) - 1) * 4
所以总人数:(num - 1 + num - 2 * (outside - 1) - 1) * outside * 2

当前层:
当前层总人数:cur_circle_count = (num - 2 * outside - 1) * 4
(xPos, yPos)和(outside, outside)之间人数(上半圈):dist = (xPos - outside) + (yPos - outside)
(xPos, yPos)和(outside, outside)之间人数(下半圈):cur_circle_count - dist

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Solution:
def orchestraLayout(self, num: int, xPos: int, yPos: int) -> int:
total_count = 0

# 外层人数
outside = min(xPos, yPos, num - xPos - 1, num - yPos - 1)
total_count += ((num - 1 + num - 2 * (outside - 1) - 1) * outside * 2) % 9

# 当前层人数
cur_circle_count = (num - 2 * outside - 1) * 4
dist = (xPos - outside) + (yPos - outside)
if xPos > yPos:
dist = cur_circle_count - dist

total_count += (dist + 1) % 9
total_count = total_count % 9

return total_count if total_count != 0 else 9
阅读全文 »

Empirical Analysis of Unlabeled Entity Problem in Named Entity Recognition

发表于 2021-03-09 | 分类于 NLP

实体标注常常需要耗费大量人力,标注质量常常达不到预期,“未标注实体”就是其中常见的一类问题,指的是标注者并没有把文本中的所有实体都标注出来。“Empirical Analysis of Unlabeled Entity Problem in Named Entity Recognition”发表在ICLR 2021上,利用负采样的方法有效的降低了未标注实体对模型训练的影响。

阅读全文 »

算法总结

发表于 2021-03-03 | 分类于 算法

往期文章

  • 并查集:渗透问题
  • 堆栈和队列:双端队列与随机队列
  • 凸包问题
  • 归并排序:共线点
  • 优先队列:事件驱动模拟
  • 8 数码问题
  • 二叉搜索树的几何应用
  • kd 树

二分法

使用情况:
① 能分成OOXX两部分
② 无法找到一个条件,形成OOXX模型。但是可以根据判断,保留下有解的那一半或者去掉无解的一半
③ 二分答案(假设答案的取值范围为[a,b],用二分法缩小[a,b])

二分法的本质:扔一半留一半

阅读全文 »

High-Frequency Component Helps Explain the Generalization of Convolution Neural Networks

发表于 2021-01-13 | 分类于 Deep Learning

“High-Frequency Component Helps Explain the Generalization of Convolution Neural Networks”发表于CVPR 2020,主要是从频率的角度分析CNN到底在提取什么特征,以及图片的高频部分和低频部分 对CNN泛化能力的影响。

The Misalignment Between CNN and Human

阅读全文 »

Lottery Ticket Hypothethsis

发表于 2020-11-13 | 分类于 Deep Learning

深度学习课程需要做一个project,我们组选了Lottery Ticket Hypothesis这个课题,最近做了一些调研,简要的记录在此。

Background

“The Lottery Ticket Hypothesis: Finding Sparse, Trainable Neural Networks” 是ICLR 2019年的best paper,主要贡献是提出了一种模型剪枝的启发式算法。

阅读全文 »

在GitHub Pages上用Jekyll建静态网页,并且在macOS上预览

发表于 2020-09-09 | 分类于 blog

目标

COVID-19的项目需要建立一个展示网页,我的思路是建立一个静态网站,然后用脚本来实现自动更新数据。一通调查后我打算采用以下方式实现:

  • 静态网站:GitHub Pages + Jekyll
  • 表格和图:Plotly、百度的pyecharts(待定)、MATPLOTLIB+mpld3(待定)
  • 在macOS本地预览
  • 可以使用Mathjax编写数学式子
阅读全文 »

对抗训练样本生成方法

发表于 2019-07-16 | 分类于 Adversarial Training

最近调研了一些对抗训练相关的文章,又听了组里学弟做的报告,简略的总结一下。做PPT费了不少功夫,因此在这里直接搬过来。

NLP对抗训练背景

对抗训练简介

对抗训练样本(Adversarial Examples):通过对输入进行微小扰动,极大增加模型损失的样本
对抗训练(Adversarial Training):在训练时考虑对抗训练样本的存在,提高模型在对抗训练样本上的性能

目的:

  • 正则:提高模型鲁棒性
  • 攻防:作为对模型恶意输入的提前预防

做法:

  • 通过损失函数:在loss中添加对微小扰动敏感性的损失项
  • 通过构造样本:构造对抗样本进行训练
阅读全文 »

一个小故事

发表于 2018-03-09 | 分类于 MISC

昨天听到一个很有意思的小故事,讲故事的人和故事主人公并不是重点,就此略去,只记下大概情节:

一个人想做一辆无人车,于是他租了一间地下室作为场地,大家第一次去参观的时候看到他做了一辆玩具车;两三个星期后再去看,发现他在地上铺了跑道,玩具车可以自动沿跑道行驶;再去看,发现那个玩具车在遇到障碍物的时候会减速、停下;第四次去,他在场地里放进遥控车,玩具车在行驶时遇到遥控车会减速;再去,发现玩具车在不考虑旁边有没有车的情况下会超车了;再去,看到他在场地加了立交桥。。。

遇到一个复杂项目时,怎样着手去做,怎样一步步去完成,这个小故事对我很有启发。做一辆无人车,看似无从下手,把它拆分为一个个小目标,思路便慢慢清晰。其实无论是项目还是人生,大概都是如此。

Tips of Blog

发表于 2018-03-07 | 分类于 blog

MathJax

  1. MathJax的下划线_和Markdown的下划线冲突,用MathJax编辑数学公式时只要出现2个下划线,Markdown会把它们之间的文字处理为斜体,而下划线在MathJax中的意义为下角标。
    例如:$(x_{index}, y_{index})$处理为:$(x{index}, y{index})$
    解决办法是利用Hexo的标签插件:
    1
    2
    3
    {% raw %}

    {% endraw %}
    这个标签插件可以用来避免解析错误插入Swig标签。同理应该也可以用于Mathjax。
    在解析错误的公式代码前后加入标签插件后公式渲染成功。
    1
    2
    3
    {% raw %}
    $(x_{index}, y_{index})$
    {% endraw %}
    渲染结果: $(x_{index}, y_{index})$
阅读全文 »
12…6

50 日志
13 分类
38 标签
E-Mail
© 2021 Yuan Tian
由 Hexo 强力驱动
|
主题 — NexT.Gemini v5.1.4